diff options
author | Melanie | 2011-01-12 21:25:38 +0000 |
---|---|---|
committer | Melanie | 2011-01-12 21:25:38 +0000 |
commit | 7cfe17b5b39bb6e99abe24ae27c60b51165abe21 (patch) | |
tree | 21b116b0de81c7df6f94b34035eaff57dee1bf56 /OpenSim/Region | |
parent | Fix god mode perms adjustment (diff) | |
download | opensim-SC_OLD-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.zip opensim-SC_OLD-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.tar.gz opensim-SC_OLD-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.tar.bz2 opensim-SC_OLD-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.tar.xz |
Partial permissions fix for boxed items.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index dc2ce48..bc6b165 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2131,5 +2131,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2131 | 2131 | ||
2132 | m_sceneGraph.LinkObjects(root, children); | 2132 | m_sceneGraph.LinkObjects(root, children); |
2133 | } | 2133 | } |
2134 | |||
2135 | private string PermissionString(uint permissions) | ||
2136 | { | ||
2137 | PermissionMask perms = (PermissionMask)permissions & | ||
2138 | (PermissionMask.Move | | ||
2139 | PermissionMask.Copy | | ||
2140 | PermissionMask.Transfer | | ||
2141 | PermissionMask.Modify); | ||
2142 | return perms.ToString(); | ||
2143 | } | ||
2134 | } | 2144 | } |
2135 | } | 2145 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 90f1d6e..900130a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | |||
@@ -946,6 +946,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
946 | { | 946 | { |
947 | foreach (TaskInventoryItem item in m_items.Values) | 947 | foreach (TaskInventoryItem item in m_items.Values) |
948 | { | 948 | { |
949 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0) | ||
950 | mask &= ~((uint)PermissionMask.Copy >> 13); | ||
951 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Transfer) == 0) | ||
952 | mask &= ~((uint)PermissionMask.Transfer >> 13); | ||
953 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Modify) == 0) | ||
954 | mask &= ~((uint)PermissionMask.Modify >> 13); | ||
955 | |||
949 | if (item.InvType != (int)InventoryType.Object) | 956 | if (item.InvType != (int)InventoryType.Object) |
950 | { | 957 | { |
951 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0) | 958 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0) |