diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 901144a..fe9de1b 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | |||
@@ -556,6 +556,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
556 | 556 | ||
557 | // Customize the EveryoneMask | 557 | // Customize the EveryoneMask |
558 | uint objectEveryoneMask = ApplyObjectModifyMasks(task.EveryoneMask, objflags); | 558 | uint objectEveryoneMask = ApplyObjectModifyMasks(task.EveryoneMask, objflags); |
559 | if (objectOwner != UUID.Zero) | ||
560 | objectEveryoneMask |= (uint)PrimFlags.ObjectAnyOwner; | ||
559 | 561 | ||
560 | if (m_bypassPermissions) | 562 | if (m_bypassPermissions) |
561 | return objectOwnerMask; | 563 | return objectOwnerMask; |
@@ -578,12 +580,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
578 | { | 580 | { |
579 | // Admin objects should not be editable by the above | 581 | // Admin objects should not be editable by the above |
580 | if (!IsAdministrator(objectOwner)) | 582 | if (!IsAdministrator(objectOwner)) |
581 | return objectOwnerMask; | 583 | return objectOwnerMask; |
582 | } | 584 | } |
583 | 585 | ||
584 | if ((objectOwnerMask & (uint)PermissionMask.Transfer) != 0 && task.ObjectSaleType != 0) | ||
585 | objectEveryoneMask |= (uint)PrimFlags.ObjectTransfer; | ||
586 | |||
587 | // Group permissions | 586 | // Group permissions |
588 | if ((task.GroupID != UUID.Zero) && IsGroupMember(task.GroupID, user, 0)) | 587 | if ((task.GroupID != UUID.Zero) && IsGroupMember(task.GroupID, user, 0)) |
589 | return objectGroupMask | objectEveryoneMask; | 588 | return objectGroupMask | objectEveryoneMask; |