aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Land/LandObject.cs
diff options
context:
space:
mode:
authorUbitUmarov2017-01-27 20:21:24 +0000
committerUbitUmarov2017-01-27 20:21:24 +0000
commit0091c37ed3fd3f9ed4edf079a61f986daadca16b (patch)
tree6e5ca5cb7fa6ae6325d5222b37f39a794a48d345 /OpenSim/Region/CoreModules/World/Land/LandObject.cs
parentparcels must be loaded before objects, so they can be added to them (diff)
downloadopensim-SC_OLD-0091c37ed3fd3f9ed4edf079a61f986daadca16b.zip
opensim-SC_OLD-0091c37ed3fd3f9ed4edf079a61f986daadca16b.tar.gz
opensim-SC_OLD-0091c37ed3fd3f9ed4edf079a61f986daadca16b.tar.bz2
opensim-SC_OLD-0091c37ed3fd3f9ed4edf079a61f986daadca16b.tar.xz
several changes relative to objects return and parcel prim counts: avoid null refs, report correct count of returned objects, make obkects counts by ownership coerent with return rules, etc
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Land/LandObject.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs8
1 files changed, 5 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
index 8c0edc8..9d84e66 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
@@ -1664,7 +1664,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1664 { 1664 {
1665 SceneObjectGroup[] objs = new SceneObjectGroup[1]; 1665 SceneObjectGroup[] objs = new SceneObjectGroup[1];
1666 objs[0] = obj; 1666 objs[0] = obj;
1667 m_scene.returnObjects(objs, obj.OwnerID); 1667 m_scene.returnObjects(objs, null);
1668 } 1668 }
1669 1669
1670 public void ReturnLandObjects(uint type, UUID[] owners, UUID[] tasks, IClientAPI remote_client) 1670 public void ReturnLandObjects(uint type, UUID[] owners, UUID[] tasks, IClientAPI remote_client)
@@ -1695,6 +1695,8 @@ namespace OpenSim.Region.CoreModules.World.Land
1695 { 1695 {
1696 if (obj.GroupID == LandData.GroupID) 1696 if (obj.GroupID == LandData.GroupID)
1697 { 1697 {
1698 if (obj.OwnerID == LandData.OwnerID)
1699 continue;
1698 if (!returns.ContainsKey(obj.OwnerID)) 1700 if (!returns.ContainsKey(obj.OwnerID))
1699 returns[obj.OwnerID] = 1701 returns[obj.OwnerID] =
1700 new List<SceneObjectGroup>(); 1702 new List<SceneObjectGroup>();
@@ -1736,8 +1738,8 @@ namespace OpenSim.Region.CoreModules.World.Land
1736 1738
1737 foreach (List<SceneObjectGroup> ol in returns.Values) 1739 foreach (List<SceneObjectGroup> ol in returns.Values)
1738 { 1740 {
1739 if (m_scene.Permissions.CanReturnObjects(this, remote_client.AgentId, ol)) 1741 if (m_scene.Permissions.CanReturnObjects(this, remote_client, ol))
1740 m_scene.returnObjects(ol.ToArray(), remote_client.AgentId); 1742 m_scene.returnObjects(ol.ToArray(), remote_client);
1741 } 1743 }
1742 } 1744 }
1743 1745