diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index aa5d381..0104823 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -1141,6 +1141,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
1141 | part.OwnerID = item.Owner; | 1141 | part.OwnerID = item.Owner; |
1142 | part.RezzerID = item.Owner; | 1142 | part.RezzerID = item.Owner; |
1143 | part.Inventory.ChangeInventoryOwner(item.Owner); | 1143 | part.Inventory.ChangeInventoryOwner(item.Owner); |
1144 | |||
1145 | // This applies the base mask from the item as the next | ||
1146 | // permissions for the object. This is correct because the | ||
1147 | // giver's base mask was masked by the giver's next owner | ||
1148 | // mask, so the base mask equals the original next owner mask. | ||
1149 | part.NextOwnerMask = item.BasePermissions; | ||
1144 | } | 1150 | } |
1145 | 1151 | ||
1146 | so.ApplyNextOwnerPermissions(); | 1152 | so.ApplyNextOwnerPermissions(); |
@@ -1152,10 +1158,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
1152 | { | 1158 | { |
1153 | if ((item.Flags & (uint)InventoryItemFlags.ObjectHasMultipleItems) == 0) | 1159 | if ((item.Flags & (uint)InventoryItemFlags.ObjectHasMultipleItems) == 0) |
1154 | { | 1160 | { |
1155 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0) | 1161 | part.EveryoneMask = item.EveryOnePermissions & part.BaseMask; |
1156 | part.EveryoneMask = item.EveryOnePermissions & part.BaseMask; | 1162 | part.NextOwnerMask = item.NextPermissions & part.BaseMask; |
1157 | if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0) | ||
1158 | part.NextOwnerMask = item.NextPermissions & part.BaseMask; | ||
1159 | } | 1163 | } |
1160 | } | 1164 | } |
1161 | } | 1165 | } |