aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2009-04-16 01:01:40 +0000
committerMelanie Thielker2009-04-16 01:01:40 +0000
commit4b85cbf0b6f31880655f07e68eb041247dedf870 (patch)
treece8183281bab30cdeb6a360679d78c923e57e751
parentFix build break and change some groups interfaces (diff)
downloadopensim-SC_OLD-4b85cbf0b6f31880655f07e68eb041247dedf870.zip
opensim-SC_OLD-4b85cbf0b6f31880655f07e68eb041247dedf870.tar.gz
opensim-SC_OLD-4b85cbf0b6f31880655f07e68eb041247dedf870.tar.bz2
opensim-SC_OLD-4b85cbf0b6f31880655f07e68eb041247dedf870.tar.xz
Correctly flag group owned prims in the land prim list
-rw-r--r--OpenSim/Client/MXP/ClientStack/MXPClientView.cs2
-rw-r--r--OpenSim/Framework/IClientAPI.cs2
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs4
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs5
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs2
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs2
-rw-r--r--OpenSim/Tests/Common/Mock/TestClient.cs2
7 files changed, 11 insertions, 8 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
index 96e382c..f42b842 100644
--- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
+++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
@@ -1228,7 +1228,7 @@ namespace OpenSim.Client.MXP.ClientStack
1228 // Need to translate to MXP somehow 1228 // Need to translate to MXP somehow
1229 } 1229 }
1230 1230
1231 public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount) 1231 public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
1232 { 1232 {
1233 // Need to translate to MXP somehow 1233 // Need to translate to MXP somehow
1234 } 1234 }
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index b4c3796..da87183 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -996,7 +996,7 @@ namespace OpenSim.Framework
996 996
997 void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID); 997 void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID);
998 void SendForceClientSelectObjects(List<uint> objectIDs); 998 void SendForceClientSelectObjects(List<uint> objectIDs);
999 void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount); 999 void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount);
1000 void SendLandParcelOverlay(byte[] data, int sequence_id); 1000 void SendLandParcelOverlay(byte[] data, int sequence_id);
1001 1001
1002 #region Parcel Methods 1002 #region Parcel Methods
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)
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs
index ff2e3ca..1efc3fd 100644
--- a/OpenSim/Tests/Common/Mock/TestClient.cs
+++ b/OpenSim/Tests/Common/Mock/TestClient.cs
@@ -929,7 +929,7 @@ namespace OpenSim.Tests.Common.Mock
929 { 929 {
930 } 930 }
931 931
932 public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount) 932 public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
933 { 933 {
934 } 934 }
935 935