summaryrefslogtreecommitdiff
path: root/indra/newview/llfolderviewmodelinventory.cpp
diff options
context:
space:
mode:
authorSimon Linden <simon@lindenlab.com>2014-07-18 22:39:50 +0000
committerSimon Linden <simon@lindenlab.com>2014-07-18 22:39:50 +0000
commit7021288859036789dc268233cc1a3401d6082721 (patch)
tree2d6a4d9e87785a8bc236215e5e0102a553a0ee5f /indra/newview/llfolderviewmodelinventory.cpp
parent7714c7679da7c6c28c3f3f09af6b586a680dc26c (diff)
parent19bc1ee671df2f89d990dfe8aadea1d9ea424e82 (diff)
Pull in viewer-lion to cut off DRTVWR-373
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.cpp')
-rwxr-xr-xindra/newview/llfolderviewmodelinventory.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index 7339398fa5..11d49ff784 100755
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -129,13 +129,15 @@ void LLFolderViewModelItemInventory::requestSort()
void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size)
{
+ bool init_state = getLastFilterGeneration() < 0;
LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size);
bool before = mPrevPassedAllFilters;
mPrevPassedAllFilters = passedFilter(filter_generation);
- if (before != mPrevPassedAllFilters)
+ if (before != mPrevPassedAllFilters || (init_state && before && !mFolderViewItem->getVisible()))
{
- // Need to rearrange the folder if the filtered state of the item changed
+ // Need to rearrange the folder if the filtered state of the item changed
+ // or folder was hidden during update as filter-dirty (MAINT-4218)
LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder();
if (parent_folder)
{