diff options
author | Kitto Flora | 2011-03-22 20:33:24 +0000 |
---|---|---|
committer | Kitto Flora | 2011-03-22 20:33:24 +0000 |
commit | 764e8c2a4371c24d1a0bd067c0bcbc806562064d (patch) | |
tree | 03dfb1bfe16c420fdbb6a1aa723c9203771d1beb /OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |
parent | Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff) | |
parent | Add some more fields to Estate settings and make them work. (diff) | |
download | opensim-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.cs | 8 |
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 | } |