diff options
author | Melanie | 2011-02-21 04:14:49 +0100 |
---|---|---|
committer | Melanie | 2011-02-21 04:14:49 +0100 |
commit | 1a31f7b579753bdcb5f52adc16a41eef4b14a25f (patch) | |
tree | c14d11396194f9b0d33253579fe38608fa55b835 | |
parent | Prevent giving copies of no copy scripts or transferring no trans scripts (diff) | |
download | opensim-SC_OLD-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.zip opensim-SC_OLD-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.tar.gz opensim-SC_OLD-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.tar.bz2 opensim-SC_OLD-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.tar.xz |
Allow modifying a no mod object through llGiveInventoryItem if the object
sets allowed drop. This makes breedables feasible.
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 9a93a26..9150257 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1227,6 +1227,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1227 | if ((part.OwnerID != destPart.OwnerID) && ((srcTaskItem.CurrentPermissions & (uint)PermissionMask.Transfer) == 0)) | 1227 | if ((part.OwnerID != destPart.OwnerID) && ((srcTaskItem.CurrentPermissions & (uint)PermissionMask.Transfer) == 0)) |
1228 | return; | 1228 | return; |
1229 | 1229 | ||
1230 | bool overrideNoMod = false; | ||
1231 | if ((part.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) != 0) | ||
1232 | overrideNoMod = true; | ||
1233 | |||
1230 | if (part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) == 0) | 1234 | if (part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) == 0) |
1231 | { | 1235 | { |
1232 | // object cannot copy items to an object owned by a different owner | 1236 | // object cannot copy items to an object owned by a different owner |
@@ -1236,7 +1240,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1236 | } | 1240 | } |
1237 | 1241 | ||
1238 | // must have both move and modify permission to put an item in an object | 1242 | // must have both move and modify permission to put an item in an object |
1239 | if ((part.OwnerMask & ((uint)PermissionMask.Move | (uint)PermissionMask.Modify)) == 0) | 1243 | if (((part.OwnerMask & (uint)PermissionMask.Modify) == 0) && (!overrideNoMod)) |
1240 | { | 1244 | { |
1241 | return; | 1245 | return; |
1242 | } | 1246 | } |