diff options
author | UbitUmarov | 2017-04-29 02:45:26 +0100 |
---|---|---|
committer | UbitUmarov | 2017-04-29 02:45:26 +0100 |
commit | 74f0ffbda6bf59d246d4fcc98fa2fa5fc3a06f5c (patch) | |
tree | 57fe95e63b429543e685227d0aa18802f6e3c537 /OpenSim/Region/Framework/Scenes | |
parent | BuySell: bug fix, use all object permitions for sold item, and not the operat... (diff) | |
download | opensim-SC-74f0ffbda6bf59d246d4fcc98fa2fa5fc3a06f5c.zip opensim-SC-74f0ffbda6bf59d246d4fcc98fa2fa5fc3a06f5c.tar.gz opensim-SC-74f0ffbda6bf59d246d4fcc98fa2fa5fc3a06f5c.tar.bz2 opensim-SC-74f0ffbda6bf59d246d4fcc98fa2fa5fc3a06f5c.tar.xz |
fix chain of contents sells
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index edf8cb6..668766b 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1273,11 +1273,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
1273 | { | 1273 | { |
1274 | agentItem.BasePermissions = taskItem.BasePermissions & (taskItem.NextPermissions | (uint)PermissionMask.Move); | 1274 | agentItem.BasePermissions = taskItem.BasePermissions & (taskItem.NextPermissions | (uint)PermissionMask.Move); |
1275 | if (taskItem.InvType == (int)InventoryType.Object) | 1275 | if (taskItem.InvType == (int)InventoryType.Object) |
1276 | agentItem.CurrentPermissions = agentItem.BasePermissions & (((taskItem.CurrentPermissions & 7) << 13) | (taskItem.CurrentPermissions & (uint)PermissionMask.Move)); | 1276 | { |
1277 | if((taskItem.CurrentPermissions & (uint)PermissionMask.FoldedMask) != 0) | ||
1278 | agentItem.BasePermissions &= | ||
1279 | (((taskItem.CurrentPermissions & (uint)PermissionMask.FoldedMask ) << (int)PermissionMask.FoldingShift) | | ||
1280 | (taskItem.CurrentPermissions & (uint)PermissionMask.Move)); | ||
1281 | } | ||
1277 | else | 1282 | else |
1278 | agentItem.CurrentPermissions = agentItem.BasePermissions & taskItem.CurrentPermissions; | 1283 | agentItem.BasePermissions &= taskItem.CurrentPermissions; |
1279 | 1284 | ||
1280 | agentItem.BasePermissions = agentItem.CurrentPermissions; | 1285 | agentItem.CurrentPermissions = agentItem.BasePermissions; |
1281 | 1286 | ||
1282 | agentItem.Flags |= (uint)InventoryItemFlags.ObjectSlamPerm; | 1287 | agentItem.Flags |= (uint)InventoryItemFlags.ObjectSlamPerm; |
1283 | agentItem.Flags &= ~(uint)(InventoryItemFlags.ObjectOverwriteBase | InventoryItemFlags.ObjectOverwriteOwner | InventoryItemFlags.ObjectOverwriteGroup | InventoryItemFlags.ObjectOverwriteEveryone | InventoryItemFlags.ObjectOverwriteNextOwner); | 1288 | agentItem.Flags &= ~(uint)(InventoryItemFlags.ObjectOverwriteBase | InventoryItemFlags.ObjectOverwriteOwner | InventoryItemFlags.ObjectOverwriteGroup | InventoryItemFlags.ObjectOverwriteEveryone | InventoryItemFlags.ObjectOverwriteNextOwner); |