aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-21 04:41:39 +0000
committerMelanie Thielker2008-11-21 04:41:39 +0000
commite9ad6f7913ed1e6fe1023cda3f9c04c0c6b4de2b (patch)
treef8fe1f5f59fbb8c5744bb04af401916cc573ac15 /OpenSim/Region
parentPrevent a null reference when giving items. (diff)
downloadopensim-SC-e9ad6f7913ed1e6fe1023cda3f9c04c0c6b4de2b.zip
opensim-SC-e9ad6f7913ed1e6fe1023cda3f9c04c0c6b4de2b.tar.gz
opensim-SC-e9ad6f7913ed1e6fe1023cda3f9c04c0c6b4de2b.tar.bz2
opensim-SC-e9ad6f7913ed1e6fe1023cda3f9c04c0c6b4de2b.tar.xz
Plumb in the list if user IDs to the land module to allow selection
of objects by owner name
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs10
-rw-r--r--OpenSim/Region/Environment/Interfaces/ILandObject.cs2
-rw-r--r--OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs4
-rw-r--r--OpenSim/Region/Environment/Modules/World/Land/LandObject.cs8
4 files changed, 16 insertions, 8 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 25927b6..b11a5e8 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -5713,12 +5713,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5713 case PacketType.ParcelSelectObjects: 5713 case PacketType.ParcelSelectObjects:
5714 ParcelSelectObjectsPacket selectPacket = (ParcelSelectObjectsPacket)Pack; 5714 ParcelSelectObjectsPacket selectPacket = (ParcelSelectObjectsPacket)Pack;
5715 5715
5716 List<UUID> returnIDs = new List<UUID>();
5717
5718 foreach(ParcelSelectObjectsPacket.ReturnIDsBlock rb in
5719 selectPacket.ReturnIDs)
5720 {
5721 returnIDs.Add(rb.ReturnID);
5722 }
5723
5716 handlerParcelSelectObjects = OnParcelSelectObjects; 5724 handlerParcelSelectObjects = OnParcelSelectObjects;
5717 5725
5718 if (handlerParcelSelectObjects != null) 5726 if (handlerParcelSelectObjects != null)
5719 { 5727 {
5720 handlerParcelSelectObjects(selectPacket.ParcelData.LocalID, 5728 handlerParcelSelectObjects(selectPacket.ParcelData.LocalID,
5721 Convert.ToInt32(selectPacket.ParcelData.ReturnType), this); 5729 Convert.ToInt32(selectPacket.ParcelData.ReturnType), returnIDs, this);
5722 } 5730 }
5723 break; 5731 break;
5724 case PacketType.ParcelObjectOwnersRequest: 5732 case PacketType.ParcelObjectOwnersRequest:
diff --git a/OpenSim/Region/Environment/Interfaces/ILandObject.cs b/OpenSim/Region/Environment/Interfaces/ILandObject.cs
index 85da000..9d51109 100644
--- a/OpenSim/Region/Environment/Interfaces/ILandObject.cs
+++ b/OpenSim/Region/Environment/Interfaces/ILandObject.cs
@@ -68,7 +68,7 @@ namespace OpenSim.Region.Environment.Interfaces
68 bool[,] getSquareLandBitmap(int start_x, int start_y, int end_x, int end_y); 68 bool[,] getSquareLandBitmap(int start_x, int start_y, int end_x, int end_y);
69 bool[,] modifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value); 69 bool[,] modifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value);
70 bool[,] mergeLandBitmaps(bool[,] bitmap_base, bool[,] bitmap_add); 70 bool[,] mergeLandBitmaps(bool[,] bitmap_base, bool[,] bitmap_add);
71 void sendForceObjectSelect(int local_id, int request_type, IClientAPI remote_client); 71 void sendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client);
72 void sendLandObjectOwners(IClientAPI remote_client); 72 void sendLandObjectOwners(IClientAPI remote_client);
73 void returnObject(SceneObjectGroup obj); 73 void returnObject(SceneObjectGroup obj);
74 void returnLandObjects(uint type, UUID[] owners, IClientAPI remote_client); 74 void returnLandObjects(uint type, UUID[] owners, IClientAPI remote_client);
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
index 89dde26..f656fb6 100644
--- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
@@ -976,9 +976,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land
976 join(west, south, east, north, remote_client.AgentId); 976 join(west, south, east, north, remote_client.AgentId);
977 } 977 }
978 978
979 public void handleParcelSelectObjectsRequest(int local_id, int request_type, IClientAPI remote_client) 979 public void handleParcelSelectObjectsRequest(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client)
980 { 980 {
981 m_landList[local_id].sendForceObjectSelect(local_id, request_type, remote_client); 981 m_landList[local_id].sendForceObjectSelect(local_id, request_type, returnIDs, remote_client);
982 } 982 }
983 983
984 public void handleParcelObjectOwnersRequest(int local_id, IClientAPI remote_client) 984 public void handleParcelObjectOwnersRequest(int local_id, IClientAPI remote_client)
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
index 197d5c2..be806c2 100644
--- a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
+++ b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
@@ -645,7 +645,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
645 645
646 #region Object Select and Object Owner Listing 646 #region Object Select and Object Owner Listing
647 647
648 public void sendForceObjectSelect(int local_id, int request_type, IClientAPI remote_client) 648 public void sendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client)
649 { 649 {
650 if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this)) 650 if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this))
651 { 651 {
@@ -662,9 +662,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land
662 { 662 {
663 resultLocalIDs.Add(obj.LocalId); 663 resultLocalIDs.Add(obj.LocalId);
664 } 664 }
665 // else if (request_type == LandManager.LAND_SELECT_OBJECTS_GROUP && ...) // TODO: group support 665 else if (request_type == LandChannel.LAND_SELECT_OBJECTS_GROUP && obj.GroupID == landData.GroupID && landData.GroupID != UUID.Zero)
666 // { 666 {
667 // } 667 }
668 else if (request_type == LandChannel.LAND_SELECT_OBJECTS_OTHER && 668 else if (request_type == LandChannel.LAND_SELECT_OBJECTS_OTHER &&
669 obj.OwnerID != remote_client.AgentId) 669 obj.OwnerID != remote_client.AgentId)
670 { 670 {