aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs11
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