aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPixelTomsen2012-02-16 00:07:12 +0100
committerJustin Clark-Casey (justincc)2012-02-16 03:35:18 +0000
commit4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9 (patch)
treea3b4bd82fab68fcd635f415b8b395663fc10e897
parentTurn off logging on test in last commit (2b84295). (diff)
downloadopensim-SC_OLD-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.zip
opensim-SC_OLD-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.tar.gz
opensim-SC_OLD-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.tar.bz2
opensim-SC_OLD-4486b7d8e8aaa7f98e0003ce06fc0e145903f6b9.tar.xz
Fix: Object owned by the group does not return to the last owner http://opensimulator.org/mantis/view.php?id=5404
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs2
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