diff options
author | PixelTomsen | 2012-02-16 00:07:12 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-02-16 03:35:18 +0000 |
commit | 4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9 (patch) | |
tree | a3b4bd82fab68fcd635f415b8b395663fc10e897 /OpenSim | |
parent | Turn off logging on test in last commit (2b84295). (diff) | |
download | opensim-SC-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.zip opensim-SC-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.tar.gz opensim-SC-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.tar.bz2 opensim-SC-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.tar.xz |
Fix: Object owned by the group does not return to the last owner http://opensimulator.org/mantis/view.php?id=5404
Diffstat (limited to 'OpenSim')
3 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 63ba3d3..5da15ff 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -552,6 +552,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
552 | // action, remoteClient.Name, userID); | 552 | // action, remoteClient.Name, userID); |
553 | } | 553 | } |
554 | else | 554 | else |
555 | if (so.RootPart.OwnerID == so.RootPart.GroupID) | ||
556 | { | ||
557 | // Group owned objects go to the last owner | ||
558 | userID = so.RootPart.LastOwnerID; | ||
559 | } | ||
560 | else | ||
555 | { | 561 | { |
556 | // All returns / deletes go to the object owner | 562 | // All returns / deletes go to the object owner |
557 | // | 563 | // |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 5a5307c..9d9729e 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1926,7 +1926,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1926 | 1926 | ||
1927 | foreach (SceneObjectGroup g in deleteGroups) | 1927 | foreach (SceneObjectGroup g in deleteGroups) |
1928 | { | 1928 | { |
1929 | AddReturn(g.OwnerID, g.Name, g.AbsolutePosition, "parcel owner return"); | 1929 | AddReturn(g.OwnerID == g.GroupID ? g.LastOwnerID : g.OwnerID, g.Name, g.AbsolutePosition, "parcel owner return"); |
1930 | } | 1930 | } |
1931 | } | 1931 | } |
1932 | } | 1932 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 5b838f8..878476e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1330,7 +1330,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1330 | m_log.DebugFormat( | 1330 | m_log.DebugFormat( |
1331 | "[SCENE OBJECT GROUP]: Returning object {0} due to parcel autoreturn", | 1331 | "[SCENE OBJECT GROUP]: Returning object {0} due to parcel autoreturn", |
1332 | RootPart.UUID); | 1332 | RootPart.UUID); |
1333 | m_scene.AddReturn(OwnerID, Name, AbsolutePosition, "parcel autoreturn"); | 1333 | m_scene.AddReturn(OwnerID == GroupID ? LastOwnerID : OwnerID, Name, AbsolutePosition, "parcel autoreturn"); |
1334 | m_scene.DeRezObjects(null, new List<uint>() { RootPart.LocalId }, UUID.Zero, | 1334 | m_scene.DeRezObjects(null, new List<uint>() { RootPart.LocalId }, UUID.Zero, |
1335 | DeRezAction.Return, UUID.Zero); | 1335 | DeRezAction.Return, UUID.Zero); |
1336 | 1336 | ||