diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 67b991607..923565008 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -2851,6 +2851,14 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
restoreItem();
return;
}
+ // Move displaced inventory to lost and found
+ else if ("move_to_lost_and_found" == action)
+ {
+ gInventory.changeCategoryParent(getCategory(), gInventory.findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND), TRUE);
+ gInventory.addChangedMask(LLInventoryObserver::REBUILD, mUUID);
+ gInventory.notifyObservers();
+ }
+ //
#ifdef DELETE_SYSTEM_FOLDERS
else if ("delete_system_folder" == action)
{
@@ -3365,6 +3373,14 @@ void LLFolderBridge::buildContextMenuBaseOptions(U32 flags)
mWearables=TRUE;
}
}
+ // Move displaced inventory to lost and found
+ else if (!isAgentInventory())
+ {
+ const LLUUID& library(gInventory.getLibraryRootFolderID());
+ if (library == mUUID || gInventory.isObjectDescendentOf(mUUID, library))
+ mItems.push_back(std::string("Move to Lost And Found"));
+ }
+ //
// Preemptively disable system folder removal if more than one item selected.
if ((flags & FIRST_SELECTED_ITEM) == 0)
diff --git a/indra/newview/skins/default/xui/en-us/menu_inventory.xml b/indra/newview/skins/default/xui/en-us/menu_inventory.xml
index a248c26de..6f0f02133 100644
--- a/indra/newview/skins/default/xui/en-us/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en-us/menu_inventory.xml
@@ -227,6 +227,9 @@
name="Delete" width="128">
+
+
+