aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
diff options
context:
space:
mode:
authorMelanie Thielker2010-07-14 16:21:55 +0200
committerMelanie Thielker2010-07-14 16:21:55 +0200
commitcbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5 (patch)
treeaa129914ac25904270f5422b5eb2e8f80e45feec /OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
parentRemove getting the object capacity from the money module. It is now set (diff)
downloadopensim-SC_OLD-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.zip
opensim-SC_OLD-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.tar.gz
opensim-SC_OLD-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.tar.bz2
opensim-SC_OLD-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.tar.xz
Fix a permissions issue
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs18
1 files changed, 11 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
index 70b37fb..abb4de6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
@@ -280,7 +280,7 @@ namespace OpenSim.Region.Framework.Scenes
280 PermissionMask.Move | 280 PermissionMask.Move |
281 PermissionMask.Transfer) | 7; 281 PermissionMask.Transfer) | 7;
282 282
283 uint ownerMask = 0x7ffffff; 283 uint ownerMask = 0x7fffffff;
284 foreach (SceneObjectPart part in m_parts.Values) 284 foreach (SceneObjectPart part in m_parts.Values)
285 { 285 {
286 ownerMask &= part.OwnerMask; 286 ownerMask &= part.OwnerMask;
@@ -294,12 +294,16 @@ namespace OpenSim.Region.Framework.Scenes
294 if ((ownerMask & (uint)PermissionMask.Transfer) == 0) 294 if ((ownerMask & (uint)PermissionMask.Transfer) == 0)
295 perms &= ~(uint)PermissionMask.Transfer; 295 perms &= ~(uint)PermissionMask.Transfer;
296 296
297 if ((ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Modify) == 0) 297 // If root prim permissions are applied here, this would screw
298 perms &= ~((uint)PermissionMask.Modify >> 13); 298 // with in-inventory manipulation of the next owner perms
299 if ((ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Copy) == 0) 299 // in a major way. So, let's move this to the give itself.
300 perms &= ~((uint)PermissionMask.Copy >> 13); 300 // Yes. I know. Evil.
301 if ((ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Transfer) == 0) 301// if ((ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Modify) == 0)
302 perms &= ~((uint)PermissionMask.Transfer >> 13); 302// perms &= ~((uint)PermissionMask.Modify >> 13);
303// if ((ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Copy) == 0)
304// perms &= ~((uint)PermissionMask.Copy >> 13);
305// if ((ownerMask & RootPart.NextOwnerMask & (uint)PermissionMask.Transfer) == 0)
306// perms &= ~((uint)PermissionMask.Transfer >> 13);
303 307
304 return perms; 308 return perms;
305 } 309 }