Fix bug where an agent that declined an inventory offer and subsequently emptied their trash would make the item invalid in the giver's inventory

This was because the original item/folder ID was sent in the session slot of the offer IM rather than the copy.
user_profiles
Justin Clark-Casey (justincc) 2013-04-29 17:14:44 +01:00
parent 3ff7391495
commit 12054aaa9f
1 changed files with 8 additions and 2 deletions

View File

@ -213,7 +213,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
user.ControllingClient.SendBulkUpdateInventory(folderCopy); user.ControllingClient.SendBulkUpdateInventory(folderCopy);
// HACK!! // HACK!!
im.imSessionID = folderID.Guid; // Insert the ID of the copied item into the IM so that we know which item to move to trash if it
// is rejected.
// XXX: This is probably a misuse of the session ID slot.
im.imSessionID = copyID.Guid;
} }
else else
{ {
@ -243,7 +246,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
user.ControllingClient.SendBulkUpdateInventory(itemCopy); user.ControllingClient.SendBulkUpdateInventory(itemCopy);
// HACK!! // HACK!!
im.imSessionID = itemID.Guid; // Insert the ID of the copied item into the IM so that we know which item to move to trash if it
// is rejected.
// XXX: This is probably a misuse of the session ID slot.
im.imSessionID = copyID.Guid;
} }
// Send the IM to the recipient. The item is already // Send the IM to the recipient. The item is already