diff options
Added a check to CanDuplicateObject(), to stop duplicating prims that contains inventory items that you don't have permission to copy
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/Permissions')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index 9f806da..964e39c 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | |||
@@ -670,6 +670,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
670 | //They can't even edit the object | 670 | //They can't even edit the object |
671 | return false; | 671 | return false; |
672 | } | 672 | } |
673 | |||
673 | SceneObjectPart part = scene.GetSceneObjectPart(objectID); | 674 | SceneObjectPart part = scene.GetSceneObjectPart(objectID); |
674 | if (part == null) | 675 | if (part == null) |
675 | return false; | 676 | return false; |
@@ -677,6 +678,9 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
677 | if ((part.OwnerMask & PERM_COPY) == 0) | 678 | if ((part.OwnerMask & PERM_COPY) == 0) |
678 | return false; | 679 | return false; |
679 | 680 | ||
681 | if ((part.ParentGroup.GetEffectivePermissions() & PERM_COPY) == 0) | ||
682 | return false; | ||
683 | |||
680 | //If they can rez, they can duplicate | 684 | //If they can rez, they can duplicate |
681 | return CanRezObject(objectCount, owner, objectPosition, scene); | 685 | return CanRezObject(objectCount, owner, objectPosition, scene); |
682 | } | 686 | } |