summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelmaininventory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelmaininventory.cpp')
-rwxr-xr-xindra/newview/llpanelmaininventory.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index b02298090a..2378e09979 100755
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -183,6 +183,13 @@ BOOL LLPanelMainInventory::postBuild()
}
+ if (recent_items_panel)
+ {
+ U64 types = recent_items_panel->getFilter().getFilterObjectTypes();
+ types &= ~(0x1 << LLInventoryType::IT_CATEGORY);
+ recent_items_panel->getFilter().setFilterObjectTypes(types);
+ }
+
mFilterEditor = getChild<LLFilterEditor>("inventory search editor");
if (mFilterEditor)
{
@@ -382,9 +389,11 @@ BOOL LLPanelMainInventory::filtersVisible(void* user_data)
void LLPanelMainInventory::onClearSearch()
{
+ BOOL initially_active = FALSE;
LLFloater *finder = getFinder();
if (mActivePanel)
{
+ initially_active = mActivePanel->getFilter().isNotDefault();
mActivePanel->setFilterSubString(LLStringUtil::null);
mActivePanel->setFilterTypes(0xffffffffffffffffULL);
mActivePanel->setFilterLinks(LLInventoryFilter::FILTERLINK_INCLUDE_LINKS);
@@ -395,8 +404,8 @@ void LLPanelMainInventory::onClearSearch()
LLFloaterInventoryFinder::selectAllTypes(finder);
}
- // re-open folders that were initially open
- if (mActivePanel)
+ // re-open folders that were initially open in case filter was active
+ if (mActivePanel && (mFilterSubString.size() || initially_active))
{
mSavedFolderState->setApply(TRUE);
mActivePanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState);