diff options
Diffstat (limited to 'OpenSim')
-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 64bdc99..750b1f7 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -385,7 +385,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
385 | if (Permissions.PropagatePermissions() && recipient != senderId) | 385 | if (Permissions.PropagatePermissions() && recipient != senderId) |
386 | { | 386 | { |
387 | // First, make sore base is limited to the next perms | 387 | // First, make sore base is limited to the next perms |
388 | itemCopy.BasePermissions = item.BasePermissions & item.NextPermissions; | 388 | itemCopy.BasePermissions = item.BasePermissions & (item.NextPermissions | (uint)PermissionMask.Move); |
389 | // By default, current equals base | 389 | // By default, current equals base |
390 | itemCopy.CurrentPermissions = itemCopy.BasePermissions; | 390 | itemCopy.CurrentPermissions = itemCopy.BasePermissions; |
391 | 391 | ||
@@ -897,7 +897,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
897 | 897 | ||
898 | if ((part.OwnerID != destAgent) && Permissions.PropagatePermissions()) | 898 | if ((part.OwnerID != destAgent) && Permissions.PropagatePermissions()) |
899 | { | 899 | { |
900 | agentItem.BasePermissions = taskItem.BasePermissions & taskItem.NextPermissions; | 900 | agentItem.BasePermissions = taskItem.BasePermissions & (taskItem.NextPermissions | (uint)PermissionMask.Move); |
901 | if (taskItem.InvType == (int)InventoryType.Object) | 901 | if (taskItem.InvType == (int)InventoryType.Object) |
902 | agentItem.CurrentPermissions = agentItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); | 902 | agentItem.CurrentPermissions = agentItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); |
903 | agentItem.CurrentPermissions = agentItem.BasePermissions ; | 903 | agentItem.CurrentPermissions = agentItem.BasePermissions ; |
@@ -1092,7 +1092,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1092 | destTaskItem.EveryonePermissions = srcTaskItem.EveryonePermissions & | 1092 | destTaskItem.EveryonePermissions = srcTaskItem.EveryonePermissions & |
1093 | srcTaskItem.NextPermissions; | 1093 | srcTaskItem.NextPermissions; |
1094 | destTaskItem.BasePermissions = srcTaskItem.BasePermissions & | 1094 | destTaskItem.BasePermissions = srcTaskItem.BasePermissions & |
1095 | srcTaskItem.NextPermissions; | 1095 | (srcTaskItem.NextPermissions | (uint)PermissionMask.Move); |
1096 | destTaskItem.CurrentPermissions |= 8; // Slam! | 1096 | destTaskItem.CurrentPermissions |= 8; // Slam! |
1097 | } | 1097 | } |
1098 | } | 1098 | } |