diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index 66c9013..36844a9 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -484,7 +484,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
484 | } | 484 | } |
485 | } | 485 | } |
486 | 486 | ||
487 | public uint GetEffectivePermissions(bool useBase) | 487 | public uint CurrentAndFoldedNextPermissions() |
488 | { | 488 | { |
489 | uint perms=(uint)(PermissionMask.Modify | | 489 | uint perms=(uint)(PermissionMask.Modify | |
490 | PermissionMask.Copy | | 490 | PermissionMask.Copy | |
@@ -492,18 +492,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
492 | PermissionMask.Transfer | | 492 | PermissionMask.Transfer | |
493 | PermissionMask.FoldedMask); | 493 | PermissionMask.FoldedMask); |
494 | 494 | ||
495 | uint ownerMask = 0x7fffffff; | 495 | uint ownerMask = RootPart.OwnerMask; |
496 | 496 | ||
497 | SceneObjectPart[] parts = m_parts.GetArray(); | 497 | SceneObjectPart[] parts = m_parts.GetArray(); |
498 | for (int i = 0; i < parts.Length; i++) | 498 | for (int i = 0; i < parts.Length; i++) |
499 | { | 499 | { |
500 | SceneObjectPart part = parts[i]; | 500 | SceneObjectPart part = parts[i]; |
501 | 501 | ownerMask &= part.BaseMask; | |
502 | if (useBase) | ||
503 | ownerMask &= part.BaseMask; | ||
504 | else | ||
505 | ownerMask &= part.OwnerMask; | ||
506 | |||
507 | perms &= part.Inventory.MaskEffectivePermissions(); | 502 | perms &= part.Inventory.MaskEffectivePermissions(); |
508 | } | 503 | } |
509 | 504 | ||