diff options
author | UbitUmarov | 2017-01-14 14:19:58 +0000 |
---|---|---|
committer | UbitUmarov | 2017-01-14 14:21:50 +0000 |
commit | fb86e415615ddfd917485daf5e4a4f2f0486359f (patch) | |
tree | cfad6c25fe2d253ae970d089c54236a5fc2187d9 /OpenSim/Region/CoreModules/Framework | |
parent | fix: send viewers the Everyone permitions of items inside other objects (diff) | |
download | opensim-SC_OLD-fb86e415615ddfd917485daf5e4a4f2f0486359f.zip opensim-SC_OLD-fb86e415615ddfd917485daf5e4a4f2f0486359f.tar.gz opensim-SC_OLD-fb86e415615ddfd917485daf5e4a4f2f0486359f.tar.bz2 opensim-SC_OLD-fb86e415615ddfd917485daf5e4a4f2f0486359f.tar.xz |
fix incoerent definition of Slam bit (bits 3 and 4 used in diferent
places.) this may still be wrong on other places; Do not loose folded
permitions, WARNING MASTER IS NOW UNSTABLE. permissions are still broken"
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index f8a2c2e..6fe7e89 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -605,15 +605,18 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
605 | perms &= ~(uint)PermissionMask.Transfer; | 605 | perms &= ~(uint)PermissionMask.Transfer; |
606 | if ((nextPerms & (uint)PermissionMask.Modify) == 0) | 606 | if ((nextPerms & (uint)PermissionMask.Modify) == 0) |
607 | perms &= ~(uint)PermissionMask.Modify; | 607 | perms &= ~(uint)PermissionMask.Modify; |
608 | 608 | ||
609 | item.BasePermissions = perms & so.RootPart.NextOwnerMask; | 609 | // item.BasePermissions = perms & so.RootPart.NextOwnerMask; |
610 | |||
611 | uint nextp = so.RootPart.NextOwnerMask | 0x0f; | ||
612 | item.BasePermissions = perms & nextp; | ||
610 | item.CurrentPermissions = item.BasePermissions; | 613 | item.CurrentPermissions = item.BasePermissions; |
611 | item.NextPermissions = perms & so.RootPart.NextOwnerMask; | 614 | item.NextPermissions = perms & so.RootPart.NextOwnerMask; |
612 | item.EveryOnePermissions = so.RootPart.EveryoneMask & so.RootPart.NextOwnerMask; | 615 | item.EveryOnePermissions = so.RootPart.EveryoneMask & so.RootPart.NextOwnerMask; |
613 | item.GroupPermissions = so.RootPart.GroupMask & so.RootPart.NextOwnerMask; | 616 | item.GroupPermissions = so.RootPart.GroupMask & so.RootPart.NextOwnerMask; |
614 | 617 | ||
615 | // apply next owner perms on rez | 618 | // apply next owner perms on rez |
616 | item.CurrentPermissions |= SceneObjectGroup.SLAM; | 619 | item.CurrentPermissions |= (uint)PermissionMask.Slam; |
617 | } | 620 | } |
618 | else | 621 | else |
619 | { | 622 | { |
@@ -1124,7 +1127,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
1124 | // rootPart.OwnerID, item.Owner, item.CurrentPermissions); | 1127 | // rootPart.OwnerID, item.Owner, item.CurrentPermissions); |
1125 | 1128 | ||
1126 | if ((rootPart.OwnerID != item.Owner) || | 1129 | if ((rootPart.OwnerID != item.Owner) || |
1127 | (item.CurrentPermissions & 8) != 0 || | 1130 | (item.CurrentPermissions & (uint)PermissionMask.Slam) != 0 || |
1128 | (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) | 1131 | (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) |
1129 | { | 1132 | { |
1130 | //Need to kill the for sale here | 1133 | //Need to kill the for sale here |