diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | 10 |
1 files changed, 9 insertions, 1 deletions
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 | |||
230 | 230 | ||
231 | public uint GetEffectivePermissions() | 231 | public uint GetEffectivePermissions() |
232 | { | 232 | { |
233 | return GetEffectivePermissions(false); | ||
234 | } | ||
235 | |||
236 | public uint GetEffectivePermissions(bool useBase) | ||
237 | { | ||
233 | uint perms=(uint)(PermissionMask.Modify | | 238 | uint perms=(uint)(PermissionMask.Modify | |
234 | PermissionMask.Copy | | 239 | PermissionMask.Copy | |
235 | PermissionMask.Move | | 240 | PermissionMask.Move | |
@@ -241,7 +246,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
241 | for (int i = 0; i < parts.Length; i++) | 246 | for (int i = 0; i < parts.Length; i++) |
242 | { | 247 | { |
243 | SceneObjectPart part = parts[i]; | 248 | SceneObjectPart part = parts[i]; |
244 | ownerMask &= part.OwnerMask; | 249 | if (useBase) |
250 | ownerMask &= part.BaseMask; | ||
251 | else | ||
252 | ownerMask &= part.OwnerMask; | ||
245 | perms &= part.Inventory.MaskEffectivePermissions(); | 253 | perms &= part.Inventory.MaskEffectivePermissions(); |
246 | } | 254 | } |
247 | 255 | ||