Fix: Object owned by the group does not return to the last owner http://opensimulator.org/mantis/view.php?id=5404

xassetservice
PixelTomsen 2012-02-16 00:07:12 +01:00 committed by Justin Clark-Casey (justincc)
parent 1267094a51
commit 4486b7d8e8
3 changed files with 8 additions and 2 deletions

View File

@ -552,6 +552,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
// action, remoteClient.Name, userID);
}
else
if (so.RootPart.OwnerID == so.RootPart.GroupID)
{
// Group owned objects go to the last owner
userID = so.RootPart.LastOwnerID;
}
else
{
// All returns / deletes go to the object owner
//

View File

@ -1926,7 +1926,7 @@ namespace OpenSim.Region.Framework.Scenes
foreach (SceneObjectGroup g in deleteGroups)
{
AddReturn(g.OwnerID, g.Name, g.AbsolutePosition, "parcel owner return");
AddReturn(g.OwnerID == g.GroupID ? g.LastOwnerID : g.OwnerID, g.Name, g.AbsolutePosition, "parcel owner return");
}
}
}

View File

@ -1330,7 +1330,7 @@ namespace OpenSim.Region.Framework.Scenes
m_log.DebugFormat(
"[SCENE OBJECT GROUP]: Returning object {0} due to parcel autoreturn",
RootPart.UUID);
m_scene.AddReturn(OwnerID, Name, AbsolutePosition, "parcel autoreturn");
m_scene.AddReturn(OwnerID == GroupID ? LastOwnerID : OwnerID, Name, AbsolutePosition, "parcel autoreturn");
m_scene.DeRezObjects(null, new List<uint>() { RootPart.LocalId }, UUID.Zero,
DeRezAction.Return, UUID.Zero);