diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 798547a..8d0c35a 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -668,28 +668,18 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
668 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0) | 668 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0) |
669 | part.GroupMask = item.GroupPermissions; | 669 | part.GroupMask = item.GroupPermissions; |
670 | } | 670 | } |
671 | |||
672 | foreach (SceneObjectPart part in group.Parts) | ||
673 | { | ||
674 | part.LastOwnerID = part.OwnerID; | ||
675 | part.OwnerID = item.Owner; | ||
676 | part.Inventory.ChangeInventoryOwner(item.Owner); | ||
677 | } | ||
671 | 678 | ||
672 | group.ApplyNextOwnerPermissions(); | 679 | group.ApplyNextOwnerPermissions(); |
673 | } | 680 | } |
674 | } | 681 | } |
675 | 682 | ||
676 | foreach (SceneObjectPart part in group.Parts) | ||
677 | { | ||
678 | if ((part.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0) | ||
679 | { | ||
680 | part.LastOwnerID = part.OwnerID; | ||
681 | part.OwnerID = item.Owner; | ||
682 | part.Inventory.ChangeInventoryOwner(item.Owner); | ||
683 | part.GroupMask = 0; // DO NOT propagate here | ||
684 | } | ||
685 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0) | ||
686 | part.EveryoneMask = item.EveryOnePermissions; | ||
687 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0) | ||
688 | part.NextOwnerMask = item.NextPermissions; | ||
689 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0) | ||
690 | part.GroupMask = item.GroupPermissions; | ||
691 | } | ||
692 | |||
693 | rootPart.TrimPermissions(); | 683 | rootPart.TrimPermissions(); |
694 | 684 | ||
695 | if (!attachment) | 685 | if (!attachment) |