diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 326ef28b9e..666f35339c 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -222,7 +222,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
///
///
///
- public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID,
+ public virtual UUID CopyToInventory(DeRezAction action, UUID folderID,
List objectGroups, IClientAPI remoteClient)
{
Dictionary> deletes = new Dictionary>();
diff --git a/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs b/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
index 05fc2add3e..305975e855 100644
--- a/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
@@ -38,7 +38,23 @@ namespace OpenSim.Region.Framework.Interfaces
public interface IInventoryAccessModule
{
UUID CapsUpdateInventoryItemAsset(IClientAPI remoteClient, UUID itemID, byte[] data);
- UUID DeleteToInventory(DeRezAction action, UUID folderID, List objectGroups, IClientAPI remoteClient);
+
+ ///
+ /// Copy objects to a user's inventory.
+ ///
+ ///
+ /// Is it left to the caller to delete them from the scene if required.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// Returns the UUID of the newly created item asset (not the item itself).
+ /// FIXME: This is not very useful. It would be far more useful to return a list of items instead.
+ ///
+ UUID CopyToInventory(DeRezAction action, UUID folderID, List objectGroups, IClientAPI remoteClient);
+
SceneObjectGroup RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
diff --git a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
index 8feb0227fc..342354257d 100644
--- a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -143,7 +143,8 @@ namespace OpenSim.Region.Framework.Scenes
{
IInventoryAccessModule invAccess = m_scene.RequestModuleInterface();
if (invAccess != null)
- invAccess.DeleteToInventory(x.action, x.folderID, x.objectGroups, x.remoteClient);
+ invAccess.CopyToInventory(x.action, x.folderID, x.objectGroups, x.remoteClient);
+
if (x.permissionToDelete)
{
foreach (SceneObjectGroup g in x.objectGroups)