diff options
author | Melanie | 2011-04-01 22:04:29 +0100 |
---|---|---|
committer | Melanie | 2011-04-01 22:04:29 +0100 |
commit | 3a113f9902b859d11c200f9b0db06c2317eb53cc (patch) | |
tree | efe807f23fdc94caaac21378e90cb62187a1f7ac /OpenSim/Region/CoreModules | |
parent | check threat configuration for LSL print() (diff) | |
download | opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.zip opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.tar.gz opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.tar.bz2 opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.tar.xz |
A stab at making CHANGED_OWNER work
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) |