diff options
author | Melanie Thielker | 2010-07-14 16:21:55 +0200 |
---|---|---|
committer | Melanie Thielker | 2010-07-14 16:21:55 +0200 |
commit | cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5 (patch) | |
tree | aa129914ac25904270f5422b5eb2e8f80e45feec /OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | |
parent | Remove getting the object capacity from the money module. It is now set (diff) | |
download | opensim-SC-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.zip opensim-SC-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.tar.gz opensim-SC-cbb3a8ab94f8df6963f8045a3ca3795bcbcfe0b5.tar.bz2 opensim-SC-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.cs | 18 |
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 | } |