diff options
Diffstat (limited to 'OpenSim/Region')
4 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2c57303..ab1816f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3420,7 +3420,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3420 | } | 3420 | } |
3421 | } | 3421 | } |
3422 | 3422 | ||
3423 | public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount) | 3423 | public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount) |
3424 | { | 3424 | { |
3425 | int notifyCount = ownersAndCount.Count; | 3425 | int notifyCount = ownersAndCount.Count; |
3426 | ParcelObjectOwnersReplyPacket pack = (ParcelObjectOwnersReplyPacket)PacketPool.Instance.GetPacket(PacketType.ParcelObjectOwnersReply); | 3426 | ParcelObjectOwnersReplyPacket pack = (ParcelObjectOwnersReplyPacket)PacketPool.Instance.GetPacket(PacketType.ParcelObjectOwnersReply); |
@@ -3445,7 +3445,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3445 | dataBlock[num] = new ParcelObjectOwnersReplyPacket.DataBlock(); | 3445 | dataBlock[num] = new ParcelObjectOwnersReplyPacket.DataBlock(); |
3446 | dataBlock[num].Count = ownersAndCount[owner]; | 3446 | dataBlock[num].Count = ownersAndCount[owner]; |
3447 | 3447 | ||
3448 | if (land.GroupID == owner) | 3448 | if (land.GroupID == owner || groups.Contains(owner)) |
3449 | dataBlock[num].IsGroupOwned = true; | 3449 | dataBlock[num].IsGroupOwned = true; |
3450 | 3450 | ||
3451 | dataBlock[num].OnlineStatus = true; //TODO: fix me later | 3451 | dataBlock[num].OnlineStatus = true; //TODO: fix me later |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index a19b454..2cf739b 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -699,6 +699,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
699 | if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this)) | 699 | if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this)) |
700 | { | 700 | { |
701 | Dictionary<UUID, int> primCount = new Dictionary<UUID, int>(); | 701 | Dictionary<UUID, int> primCount = new Dictionary<UUID, int>(); |
702 | List<UUID> groups = new List<UUID>(); | ||
702 | 703 | ||
703 | lock (primsOverMe) | 704 | lock (primsOverMe) |
704 | { | 705 | { |
@@ -726,6 +727,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
726 | { | 727 | { |
727 | m_log.Error("[LAND]: Unable to match a prim with it's owner."); | 728 | m_log.Error("[LAND]: Unable to match a prim with it's owner."); |
728 | } | 729 | } |
730 | if (obj.OwnerID == obj.GroupID && (!groups.Contains(obj.OwnerID))) | ||
731 | groups.Add(obj.OwnerID); | ||
729 | } | 732 | } |
730 | } | 733 | } |
731 | catch (InvalidOperationException) | 734 | catch (InvalidOperationException) |
@@ -734,7 +737,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
734 | } | 737 | } |
735 | } | 738 | } |
736 | 739 | ||
737 | remote_client.SendLandObjectOwners(landData, primCount); | 740 | remote_client.SendLandObjectOwners(landData, groups, primCount); |
738 | } | 741 | } |
739 | } | 742 | } |
740 | 743 | ||
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 3c41c02..34d2ca7 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -885,7 +885,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
885 | { | 885 | { |
886 | } | 886 | } |
887 | 887 | ||
888 | public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount) | 888 | public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount) |
889 | { | 889 | { |
890 | } | 890 | } |
891 | 891 | ||
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 9f8fbb3..c721790 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -892,7 +892,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
892 | public void SendForceClientSelectObjects(List<uint> objectIDs) | 892 | public void SendForceClientSelectObjects(List<uint> objectIDs) |
893 | { | 893 | { |
894 | } | 894 | } |
895 | public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount) | 895 | public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount) |
896 | { | 896 | { |
897 | } | 897 | } |
898 | public void SendLandParcelOverlay(byte[] data, int sequence_id) | 898 | public void SendLandParcelOverlay(byte[] data, int sequence_id) |