diff options
author | UbitUmarov | 2017-01-27 20:21:24 +0000 |
---|---|---|
committer | UbitUmarov | 2017-01-27 20:21:24 +0000 |
commit | 0091c37ed3fd3f9ed4edf079a61f986daadca16b (patch) | |
tree | 6e5ca5cb7fa6ae6325d5222b37f39a794a48d345 /OpenSim/Region/CoreModules/World/Land/LandObject.cs | |
parent | parcels must be loaded before objects, so they can be added to them (diff) | |
download | opensim-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.cs | 8 |
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 | ||