BuySell: bug fix, use all object permitions for sold item, and not the operation rights one

httptests
UbitUmarov 2017-04-28 23:05:14 +01:00
parent 00091f1fb9
commit 019b34ea39
1 changed files with 14 additions and 9 deletions

View File

@ -205,15 +205,20 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell
item.AssetType = asset.Type; item.AssetType = asset.Type;
item.InvType = (int)InventoryType.Object; item.InvType = (int)InventoryType.Object;
item.Folder = categoryID; item.Folder = categoryID;
uint nextPerms=(perms & 7) << 13; perms = group.GetEffectivePermissions(false);
if ((nextPerms & (uint)PermissionMask.Copy) == 0)
perms &= ~(uint)PermissionMask.Copy; // if((perms & (uint)PermissionMask.FoldedMask) != 0)
if ((nextPerms & (uint)PermissionMask.Transfer) == 0) {
perms &= ~(uint)PermissionMask.Transfer; if ((perms & (uint)PermissionMask.FoldedCopy) == 0)
if ((nextPerms & (uint)PermissionMask.Modify) == 0) perms &= ~(uint)PermissionMask.Copy;
perms &= ~(uint)PermissionMask.Modify; if ((perms & (uint)PermissionMask.FoldedTransfer) == 0)
perms &= ~(uint)PermissionMask.Transfer;
if ((perms & (uint)PermissionMask.FoldedModify) == 0)
perms &= ~(uint)PermissionMask.Modify;
if ((perms & (uint)PermissionMask.FoldedExport) == 0)
perms &= ~(uint)PermissionMask.Export;
}
item.BasePermissions = perms & part.NextOwnerMask; item.BasePermissions = perms & part.NextOwnerMask;
item.CurrentPermissions = perms & part.NextOwnerMask; item.CurrentPermissions = perms & part.NextOwnerMask;
item.NextPermissions = part.NextOwnerMask; item.NextPermissions = part.NextOwnerMask;