diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs index af53aa3ef0..ca392b8f93 100644 --- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs @@ -208,18 +208,20 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell perms = group.GetEffectivePermissions(false); - PermissionsUtil.ApplyFoldedPermissions(perms, ref perms); + PermissionsUtil.ApplyNoModFoldedPermissions(perms, ref perms); perms &= part.NextOwnerMask; - item.BasePermissions = PermissionsUtil.FixAndFoldPermissions(perms); + perms = PermissionsUtil.FixAndFoldPermissions(perms); - item.CurrentPermissions = item.BasePermissions; - item.NextPermissions = part.NextOwnerMask; - item.EveryOnePermissions = part.EveryoneMask & - part.NextOwnerMask; - item.GroupPermissions = part.GroupMask & - part.NextOwnerMask; + item.BasePermissions = perms; + item.CurrentPermissions = perms; + + perms &= part.NextOwnerMask; + item.NextPermissions = perms; + + item.EveryOnePermissions = part.EveryoneMask & perms; + item.GroupPermissions = part.GroupMask & perms; item.Flags |= (uint)InventoryItemFlags.ObjectSlamPerm; item.CreationDate = Util.UnixTimeSinceEpoch();