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
Melanie Thielker 2010-07-20 14:45:46 +02:00
parent 191bee2ed0
commit fd66ee57f3
1 changed files with 7 additions and 4 deletions

View File

@ -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);