aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index b9f9c86..0b974c6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -3439,17 +3439,19 @@ namespace OpenSim.Region.Framework.Scenes
3439 3439
3440 public void AdjustChildPrimPermissions() 3440 public void AdjustChildPrimPermissions()
3441 { 3441 {
3442 uint newOwnerMask = (uint)PermissionMask.All & 0xfffffff8; // Mask folded bits 3442 //uint newOwnerMask = (uint)PermissionMask.All & 0xfffffff8; // Mask folded bits
3443 uint foldedPerms = RootPart.OwnerMask & 3; 3443 //uint foldedPerms = RootPart.OwnerMask & 3;
3444 3444
3445 ForEachPart(part => 3445 ForEachPart(part =>
3446 { 3446 {
3447 newOwnerMask &= part.BaseMask; 3447 //newOwnerMask &= part.BaseMask;
3448 if (part != RootPart) 3448 if (part != RootPart)
3449 part.ClonePermissions(RootPart); 3449 part.ClonePermissions(RootPart);
3450 }); 3450 });
3451 3451
3452 RootPart.OwnerMask = newOwnerMask | foldedPerms; 3452 uint lockMask = ~(uint)PermissionMask.Move;
3453 uint lockBit = RootPart.OwnerMask & (uint)PermissionMask.Move;
3454 RootPart.OwnerMask = (RootPart.OwnerMask & lockBit) | ((newOwnerMask | foldedPerms) & lockMask);
3453 RootPart.ScheduleFullUpdate(); 3455 RootPart.ScheduleFullUpdate();
3454 } 3456 }
3455 3457