From 95e524dde100aa14d71a49ee5d5f0cc4b5fa45f7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 1 Apr 2011 18:49:53 +0200 Subject: A stab at making CHANGED_OWNER work --- .../Framework/InventoryAccess/InventoryAccessModule.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'OpenSim/Region/CoreModules') diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 108c9a0..0fbd5e7 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs @@ -823,21 +823,19 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess } } + foreach (SceneObjectPart part in group.Parts) + { + part.LastOwnerID = part.OwnerID; + part.OwnerID = item.Owner; + part.Inventory.ChangeInventoryOwner(item.Owner); + } + group.ApplyNextOwnerPermissions(); } } foreach (SceneObjectPart part in group.Parts) { - // TODO: Remove the magic number badness - if ((part.OwnerID != item.Owner) || - (item.CurrentPermissions & 16) != 0 || // Magic number - (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) - { - part.LastOwnerID = part.OwnerID; - part.OwnerID = item.Owner; - part.Inventory.ChangeInventoryOwner(item.Owner); - } if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0) part.EveryoneMask = item.EveryOnePermissions; if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0) -- cgit v1.1