When a god uses mass permission setting, the V bit is cleared from next
perms, rendering the item unmoveable for the next owenr. Make god mods conform to the rules, too.avinationmerge
parent
191bee2ed0
commit
fd66ee57f3
|
@ -1383,6 +1383,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
remoteClient.SendAgentAlertMessage("Item saved", false);
|
||||
}
|
||||
|
||||
// Base ALWAYS has move
|
||||
currentItem.BasePermissions |= (uint)PermissionMask.Move;
|
||||
|
||||
// Check if we're allowed to mess with permissions
|
||||
if (!Permissions.IsGod(remoteClient.AgentId)) // Not a god
|
||||
{
|
||||
|
@ -1399,18 +1402,18 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
// Owner can't change base, and can change other
|
||||
// only up to base
|
||||
// Base ALWAYS has move
|
||||
currentItem.BasePermissions |= (uint)PermissionMask.Move;
|
||||
itemInfo.BasePermissions = currentItem.BasePermissions;
|
||||
itemInfo.EveryonePermissions &= currentItem.BasePermissions;
|
||||
itemInfo.GroupPermissions &= currentItem.BasePermissions;
|
||||
itemInfo.CurrentPermissions &= currentItem.BasePermissions;
|
||||
itemInfo.NextPermissions &= currentItem.BasePermissions;
|
||||
// Next ALWAYS has move
|
||||
itemInfo.NextPermissions |= (uint)PermissionMask.Move;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Next ALWAYS has move
|
||||
itemInfo.NextPermissions |= (uint)PermissionMask.Move;
|
||||
|
||||
if (part.Inventory.UpdateInventoryItem(itemInfo))
|
||||
{
|
||||
part.GetProperties(remoteClient);
|
||||
|
|
Loading…
Reference in New Issue