aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorUbitUmarov2017-04-29 02:45:26 +0100
committerUbitUmarov2017-04-29 02:45:26 +0100
commit74f0ffbda6bf59d246d4fcc98fa2fa5fc3a06f5c (patch)
tree57fe95e63b429543e685227d0aa18802f6e3c537 /OpenSim/Region/Framework/Scenes
parentBuySell: bug fix, use all object permitions for sold item, and not the operat... (diff)
downloadopensim-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.cs11
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);