aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorMelanie2011-02-21 04:14:49 +0100
committerMelanie2011-02-21 04:14:49 +0100
commit1a31f7b579753bdcb5f52adc16a41eef4b14a25f (patch)
treec14d11396194f9b0d33253579fe38608fa55b835 /OpenSim/Region/Framework/Scenes
parentPrevent giving copies of no copy scripts or transferring no trans scripts (diff)
downloadopensim-SC-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.zip
opensim-SC-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.tar.gz
opensim-SC-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.tar.bz2
opensim-SC-1a31f7b579753bdcb5f52adc16a41eef4b14a25f.tar.xz
Allow modifying a no mod object through llGiveInventoryItem if the object
sets allowed drop. This makes breedables feasible.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs6
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 }