diff options
author | UbitUmarov | 2017-04-28 23:05:14 +0100 |
---|---|---|
committer | UbitUmarov | 2017-04-28 23:05:14 +0100 |
commit | 019b34ea390998f4d51c0cc6d05f79b37aa558eb (patch) | |
tree | 79dbbf69de19c4f9e95fe3fac21aff8f3f6d424f /OpenSim/Region | |
parent | forgot a change... (diff) | |
download | opensim-SC_OLD-019b34ea390998f4d51c0cc6d05f79b37aa558eb.zip opensim-SC_OLD-019b34ea390998f4d51c0cc6d05f79b37aa558eb.tar.gz opensim-SC_OLD-019b34ea390998f4d51c0cc6d05f79b37aa558eb.tar.bz2 opensim-SC_OLD-019b34ea390998f4d51c0cc6d05f79b37aa558eb.tar.xz |
BuySell: bug fix, use all object permitions for sold item, and not the operation rights one
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs index 90d65c7..f90285d 100644 --- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs | |||
@@ -205,15 +205,20 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell | |||
205 | item.AssetType = asset.Type; | 205 | item.AssetType = asset.Type; |
206 | item.InvType = (int)InventoryType.Object; | 206 | item.InvType = (int)InventoryType.Object; |
207 | item.Folder = categoryID; | 207 | item.Folder = categoryID; |
208 | 208 | ||
209 | uint nextPerms=(perms & 7) << 13; | 209 | perms = group.GetEffectivePermissions(false); |
210 | if ((nextPerms & (uint)PermissionMask.Copy) == 0) | 210 | |
211 | perms &= ~(uint)PermissionMask.Copy; | 211 | // if((perms & (uint)PermissionMask.FoldedMask) != 0) |
212 | if ((nextPerms & (uint)PermissionMask.Transfer) == 0) | 212 | { |
213 | perms &= ~(uint)PermissionMask.Transfer; | 213 | if ((perms & (uint)PermissionMask.FoldedCopy) == 0) |
214 | if ((nextPerms & (uint)PermissionMask.Modify) == 0) | 214 | perms &= ~(uint)PermissionMask.Copy; |
215 | perms &= ~(uint)PermissionMask.Modify; | 215 | if ((perms & (uint)PermissionMask.FoldedTransfer) == 0) |
216 | 216 | perms &= ~(uint)PermissionMask.Transfer; | |
217 | if ((perms & (uint)PermissionMask.FoldedModify) == 0) | ||
218 | perms &= ~(uint)PermissionMask.Modify; | ||
219 | if ((perms & (uint)PermissionMask.FoldedExport) == 0) | ||
220 | perms &= ~(uint)PermissionMask.Export; | ||
221 | } | ||
217 | item.BasePermissions = perms & part.NextOwnerMask; | 222 | item.BasePermissions = perms & part.NextOwnerMask; |
218 | item.CurrentPermissions = perms & part.NextOwnerMask; | 223 | item.CurrentPermissions = perms & part.NextOwnerMask; |
219 | item.NextPermissions = part.NextOwnerMask; | 224 | item.NextPermissions = part.NextOwnerMask; |