diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 16 |
1 files changed, 7 insertions, 9 deletions
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 | |||
823 | } | 823 | } |
824 | } | 824 | } |
825 | 825 | ||
826 | foreach (SceneObjectPart part in group.Parts) | ||
827 | { | ||
828 | part.LastOwnerID = part.OwnerID; | ||
829 | part.OwnerID = item.Owner; | ||
830 | part.Inventory.ChangeInventoryOwner(item.Owner); | ||
831 | } | ||
832 | |||
826 | group.ApplyNextOwnerPermissions(); | 833 | group.ApplyNextOwnerPermissions(); |
827 | } | 834 | } |
828 | } | 835 | } |
829 | 836 | ||
830 | foreach (SceneObjectPart part in group.Parts) | 837 | foreach (SceneObjectPart part in group.Parts) |
831 | { | 838 | { |
832 | // TODO: Remove the magic number badness | ||
833 | if ((part.OwnerID != item.Owner) || | ||
834 | (item.CurrentPermissions & 16) != 0 || // Magic number | ||
835 | (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) | ||
836 | { | ||
837 | part.LastOwnerID = part.OwnerID; | ||
838 | part.OwnerID = item.Owner; | ||
839 | part.Inventory.ChangeInventoryOwner(item.Owner); | ||
840 | } | ||
841 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0) | 839 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0) |
842 | part.EveryoneMask = item.EveryOnePermissions; | 840 | part.EveryoneMask = item.EveryOnePermissions; |
843 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0) | 841 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0) |