mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
More perms fixes. Reinstate the move flag
This commit is contained in:
@@ -248,21 +248,25 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
PermissionMask.Move |
|
||||
PermissionMask.Transfer) | 7;
|
||||
|
||||
uint ownerMask = 0x7ffffff;
|
||||
foreach (SceneObjectPart part in m_parts.Values)
|
||||
{
|
||||
ownerMask &= part.OwnerMask;
|
||||
perms &= part.MaskEffectivePermissions();
|
||||
}
|
||||
|
||||
if ((RootPart.OwnerMask & (uint)PermissionMask.Modify) == 0)
|
||||
if (ownerMask & (uint)PermissionMask.Modify) == 0)
|
||||
perms &= ~(uint)PermissionMask.Modify;
|
||||
if ((RootPart.OwnerMask & (uint)PermissionMask.Copy) == 0)
|
||||
if (ownerMask & (uint)PermissionMask.Copy) == 0)
|
||||
perms &= ~(uint)PermissionMask.Copy;
|
||||
if ((RootPart.OwnerMask & (uint)PermissionMask.Transfer) == 0)
|
||||
if (ownerMask & (uint)PermissionMask.Transfer) == 0)
|
||||
perms &= ~(uint)PermissionMask.Transfer;
|
||||
|
||||
if ((RootPart.OwnerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Modify) == 0)
|
||||
if (ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Modify) == 0)
|
||||
perms &= ~((uint)PermissionMask.Modify >> 13);
|
||||
if ((RootPart.OwnerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Copy) == 0)
|
||||
if (ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Copy) == 0)
|
||||
perms &= ~((uint)PermissionMask.Copy >> 13);
|
||||
if ((RootPart.OwnerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Transfer) == 0)
|
||||
if (ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Transfer) == 0)
|
||||
perms &= ~((uint)PermissionMask.Transfer >> 13);
|
||||
|
||||
return perms;
|
||||
|
||||
Reference in New Issue
Block a user