diff options
author | MW | 2008-12-17 12:53:47 +0000 |
---|---|---|
committer | MW | 2008-12-17 12:53:47 +0000 |
commit | 6c8f9078ef5d9c8c0499e76c870634ee23a97ed1 (patch) | |
tree | eb3fd248851c93022e70b84a381b31b560b1c6ac /OpenSim/Region/Environment | |
parent | Stop owners from duplicating no-copy objects in-world (diff) | |
download | opensim-SC_OLD-6c8f9078ef5d9c8c0499e76c870634ee23a97ed1.zip opensim-SC_OLD-6c8f9078ef5d9c8c0499e76c870634ee23a97ed1.tar.gz opensim-SC_OLD-6c8f9078ef5d9c8c0499e76c870634ee23a97ed1.tar.bz2 opensim-SC_OLD-6c8f9078ef5d9c8c0499e76c870634ee23a97ed1.tar.xz |
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')
-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 | } |