diff options
Diffstat (limited to '')
-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) |