aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
authorKitto Flora2011-03-22 20:33:24 +0000
committerKitto Flora2011-03-22 20:33:24 +0000
commit764e8c2a4371c24d1a0bd067c0bcbc806562064d (patch)
tree03dfb1bfe16c420fdbb6a1aa723c9203771d1beb /OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
parentMerge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff)
parentAdd some more fields to Estate settings and make them work. (diff)
downloadopensim-SC-764e8c2a4371c24d1a0bd067c0bcbc806562064d.zip
opensim-SC-764e8c2a4371c24d1a0bd067c0bcbc806562064d.tar.gz
opensim-SC-764e8c2a4371c24d1a0bd067c0bcbc806562064d.tar.bz2
opensim-SC-764e8c2a4371c24d1a0bd067c0bcbc806562064d.tar.xz
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 9a93a26..bc892e0 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -303,6 +303,8 @@ namespace OpenSim.Region.Framework.Scenes
303 // Passing something to another avatar or a an object will already 303 // Passing something to another avatar or a an object will already
304 InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); 304 InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
305 item = InventoryService.GetItem(item); 305 item = InventoryService.GetItem(item);
306 if (item.Owner != remoteClient.AgentId)
307 return;
306 308
307 if (item != null) 309 if (item != null)
308 { 310 {
@@ -1227,6 +1229,10 @@ namespace OpenSim.Region.Framework.Scenes
1227 if ((part.OwnerID != destPart.OwnerID) && ((srcTaskItem.CurrentPermissions & (uint)PermissionMask.Transfer) == 0)) 1229 if ((part.OwnerID != destPart.OwnerID) && ((srcTaskItem.CurrentPermissions & (uint)PermissionMask.Transfer) == 0))
1228 return; 1230 return;
1229 1231
1232 bool overrideNoMod = false;
1233 if ((part.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) != 0)
1234 overrideNoMod = true;
1235
1230 if (part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) == 0) 1236 if (part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) == 0)
1231 { 1237 {
1232 // object cannot copy items to an object owned by a different owner 1238 // object cannot copy items to an object owned by a different owner
@@ -1236,7 +1242,7 @@ namespace OpenSim.Region.Framework.Scenes
1236 } 1242 }
1237 1243
1238 // must have both move and modify permission to put an item in an object 1244 // 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) 1245 if (((part.OwnerMask & (uint)PermissionMask.Modify) == 0) && (!overrideNoMod))
1240 { 1246 {
1241 return; 1247 return;
1242 } 1248 }