diff options
Fix the long standing bug of items being delivered to lost and found or trash when takig copy.
This bug was recently aggravated through the perms changes required for the
export permission.
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index e0009bb..eb37626 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -646,11 +646,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
646 | } | 646 | } |
647 | else | 647 | else |
648 | { | 648 | { |
649 | if (remoteClient == null || so.OwnerID != remoteClient.AgentId) | 649 | if (remoteClient == null || so.RootPart.OwnerID != remoteClient.AgentId) |
650 | { | 650 | { |
651 | // Taking copy of another person's item. Take to | 651 | // Taking copy of another person's item. Take to |
652 | // Objects folder. | 652 | // Objects folder. |
653 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.Object); | 653 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.Object); |
654 | so.FromFolderID = UUID.Zero; | ||
654 | } | 655 | } |
655 | else | 656 | else |
656 | { | 657 | { |
@@ -666,7 +667,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
666 | // | 667 | // |
667 | if (action == DeRezAction.Take || action == DeRezAction.TakeCopy) | 668 | if (action == DeRezAction.Take || action == DeRezAction.TakeCopy) |
668 | { | 669 | { |
669 | if (so.FromFolderID != UUID.Zero && userID == remoteClient.AgentId) | 670 | if (so.FromFolderID != UUID.Zero && so.RootPart.OwnerID == remoteClient.AgentId) |
670 | { | 671 | { |
671 | InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID); | 672 | InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID); |
672 | folder = m_Scene.InventoryService.GetFolder(f); | 673 | folder = m_Scene.InventoryService.GetFolder(f); |