aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie2011-01-12 21:25:38 +0000
committerMelanie2011-01-12 21:25:38 +0000
commit7cfe17b5b39bb6e99abe24ae27c60b51165abe21 (patch)
tree21b116b0de81c7df6f94b34035eaff57dee1bf56 /OpenSim/Region
parentFix god mode perms adjustment (diff)
downloadopensim-SC-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.zip
opensim-SC-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.tar.gz
opensim-SC-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.tar.bz2
opensim-SC-7cfe17b5b39bb6e99abe24ae27c60b51165abe21.tar.xz
Partial permissions fix for boxed items.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs10
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs7
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)