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);
|
remoteClient.SendAgentAlertMessage("Item saved", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Base ALWAYS has move
|
||||||
|
currentItem.BasePermissions |= (uint)PermissionMask.Move;
|
||||||
|
|
||||||
// Check if we're allowed to mess with permissions
|
// Check if we're allowed to mess with permissions
|
||||||
if (!Permissions.IsGod(remoteClient.AgentId)) // Not a god
|
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
|
// Owner can't change base, and can change other
|
||||||
// only up to base
|
// only up to base
|
||||||
// Base ALWAYS has move
|
|
||||||
currentItem.BasePermissions |= (uint)PermissionMask.Move;
|
|
||||||
itemInfo.BasePermissions = currentItem.BasePermissions;
|
itemInfo.BasePermissions = currentItem.BasePermissions;
|
||||||
itemInfo.EveryonePermissions &= currentItem.BasePermissions;
|
itemInfo.EveryonePermissions &= currentItem.BasePermissions;
|
||||||
itemInfo.GroupPermissions &= currentItem.BasePermissions;
|
itemInfo.GroupPermissions &= currentItem.BasePermissions;
|
||||||
itemInfo.CurrentPermissions &= currentItem.BasePermissions;
|
itemInfo.CurrentPermissions &= currentItem.BasePermissions;
|
||||||
itemInfo.NextPermissions &= 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))
|
if (part.Inventory.UpdateInventoryItem(itemInfo))
|
||||||
{
|
{
|
||||||
part.GetProperties(remoteClient);
|
part.GetProperties(remoteClient);
|
||||||
|
|
Loading…
Reference in New Issue