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.
user_profiles
Melanie 2013-05-01 21:35:50 +01:00
parent ac135c649c
commit b26276c8c4
1 changed files with 3 additions and 2 deletions

View File

@ -646,11 +646,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
}
else
{
if (remoteClient == null || so.OwnerID != remoteClient.AgentId)
if (remoteClient == null || so.RootPart.OwnerID != remoteClient.AgentId)
{
// Taking copy of another person's item. Take to
// Objects folder.
folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.Object);
so.FromFolderID = UUID.Zero;
}
else
{
@ -666,7 +667,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
//
if (action == DeRezAction.Take || action == DeRezAction.TakeCopy)
{
if (so.FromFolderID != UUID.Zero && userID == remoteClient.AgentId)
if (so.FromFolderID != UUID.Zero && so.RootPart.OwnerID == remoteClient.AgentId)
{
InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID);
folder = m_Scene.InventoryService.GetFolder(f);