diff options
author | Melanie | 2013-05-01 21:35:50 +0100 |
---|---|---|
committer | Melanie | 2013-05-01 21:42:51 +0100 |
commit | d982d249387adee9faf1dd7452ad03abac4d84b1 (patch) | |
tree | 2afd45cbad96b26973d2b917453750d140c112c6 /OpenSim/Region/CoreModules | |
parent | Merge branch 'avination-current' of ssh://3dhosting.de/var/git/careminster in... (diff) | |
download | opensim-SC-d982d249387adee9faf1dd7452ad03abac4d84b1.zip opensim-SC-d982d249387adee9faf1dd7452ad03abac4d84b1.tar.gz opensim-SC-d982d249387adee9faf1dd7452ad03abac4d84b1.tar.bz2 opensim-SC-d982d249387adee9faf1dd7452ad03abac4d84b1.tar.xz |
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')
-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 5aad7f0..43c7e7d 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -676,11 +676,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
676 | } | 676 | } |
677 | else | 677 | else |
678 | { | 678 | { |
679 | if (remoteClient == null || so.OwnerID != remoteClient.AgentId) | 679 | if (remoteClient == null || so.RootPart.OwnerID != remoteClient.AgentId) |
680 | { | 680 | { |
681 | // Taking copy of another person's item. Take to | 681 | // Taking copy of another person's item. Take to |
682 | // Objects folder. | 682 | // Objects folder. |
683 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.Object); | 683 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.Object); |
684 | so.FromFolderID = UUID.Zero; | ||
684 | } | 685 | } |
685 | else | 686 | else |
686 | { | 687 | { |
@@ -696,7 +697,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
696 | // | 697 | // |
697 | if (action == DeRezAction.Take || action == DeRezAction.TakeCopy) | 698 | if (action == DeRezAction.Take || action == DeRezAction.TakeCopy) |
698 | { | 699 | { |
699 | if (so.FromFolderID != UUID.Zero && userID == remoteClient.AgentId) | 700 | if (so.FromFolderID != UUID.Zero && so.RootPart.OwnerID == remoteClient.AgentId) |
700 | { | 701 | { |
701 | InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID); | 702 | InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID); |
702 | if (f != null) | 703 | if (f != null) |