diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 0380199..55c1575 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -400,7 +400,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
400 | if (Permissions.PropagatePermissions() && recipient != senderId) | 400 | if (Permissions.PropagatePermissions() && recipient != senderId) |
401 | { | 401 | { |
402 | // First, make sore base is limited to the next perms | 402 | // First, make sore base is limited to the next perms |
403 | itemCopy.BasePermissions = item.BasePermissions & item.NextPermissions; | 403 | itemCopy.BasePermissions = item.BasePermissions & (item.NextPermissions | (uint)PermissionMask.Move); |
404 | // By default, current equals base | 404 | // By default, current equals base |
405 | itemCopy.CurrentPermissions = itemCopy.BasePermissions; | 405 | itemCopy.CurrentPermissions = itemCopy.BasePermissions; |
406 | 406 | ||
@@ -916,7 +916,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
916 | 916 | ||
917 | if ((part.OwnerID != destAgent) && Permissions.PropagatePermissions()) | 917 | if ((part.OwnerID != destAgent) && Permissions.PropagatePermissions()) |
918 | { | 918 | { |
919 | agentItem.BasePermissions = taskItem.BasePermissions & taskItem.NextPermissions; | 919 | agentItem.BasePermissions = taskItem.BasePermissions & (taskItem.NextPermissions | (uint)PermissionMask.Move); |
920 | if (taskItem.InvType == (int)InventoryType.Object) | 920 | if (taskItem.InvType == (int)InventoryType.Object) |
921 | agentItem.CurrentPermissions = agentItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); | 921 | agentItem.CurrentPermissions = agentItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); |
922 | agentItem.CurrentPermissions = agentItem.BasePermissions ; | 922 | agentItem.CurrentPermissions = agentItem.BasePermissions ; |
@@ -1111,7 +1111,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1111 | destTaskItem.EveryonePermissions = srcTaskItem.EveryonePermissions & | 1111 | destTaskItem.EveryonePermissions = srcTaskItem.EveryonePermissions & |
1112 | srcTaskItem.NextPermissions; | 1112 | srcTaskItem.NextPermissions; |
1113 | destTaskItem.BasePermissions = srcTaskItem.BasePermissions & | 1113 | destTaskItem.BasePermissions = srcTaskItem.BasePermissions & |
1114 | srcTaskItem.NextPermissions; | 1114 | (srcTaskItem.NextPermissions | (uint)PermissionMask.Move); |
1115 | destTaskItem.CurrentPermissions |= 8; // Slam! | 1115 | destTaskItem.CurrentPermissions |= 8; // Slam! |
1116 | } | 1116 | } |
1117 | } | 1117 | } |