From efc6c6db7ce3602660c566f4beaf529d5ea9ec71 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 12 Nov 2011 12:09:28 +0100 Subject: Fix taking or returning locked objects losing permissions for owner --- OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework') diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index 6bd9183..c7da4f4 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs @@ -230,6 +230,11 @@ namespace OpenSim.Region.Framework.Scenes public uint GetEffectivePermissions() { + return GetEffectivePermissions(false); + } + + public uint GetEffectivePermissions(bool useBase) + { uint perms=(uint)(PermissionMask.Modify | PermissionMask.Copy | PermissionMask.Move | @@ -241,7 +246,10 @@ namespace OpenSim.Region.Framework.Scenes for (int i = 0; i < parts.Length; i++) { SceneObjectPart part = parts[i]; - ownerMask &= part.OwnerMask; + if (useBase) + ownerMask &= part.BaseMask; + else + ownerMask &= part.OwnerMask; perms &= part.Inventory.MaskEffectivePermissions(); } -- cgit v1.1