aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2013-05-01 21:35:50 +0100
committerMelanie2013-05-01 21:42:51 +0100
commitd982d249387adee9faf1dd7452ad03abac4d84b1 (patch)
tree2afd45cbad96b26973d2b917453750d140c112c6
parentMerge branch 'avination-current' of ssh://3dhosting.de/var/git/careminster in... (diff)
downloadopensim-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.
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs5
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)