diff options
author | Simon Linden <simon@lindenlab.com> | 2014-07-18 22:39:50 +0000 |
---|---|---|
committer | Simon Linden <simon@lindenlab.com> | 2014-07-18 22:39:50 +0000 |
commit | 7021288859036789dc268233cc1a3401d6082721 (patch) | |
tree | 2d6a4d9e87785a8bc236215e5e0102a553a0ee5f /indra/newview/llfolderviewmodelinventory.cpp | |
parent | 7714c7679da7c6c28c3f3f09af6b586a680dc26c (diff) | |
parent | 19bc1ee671df2f89d990dfe8aadea1d9ea424e82 (diff) |
Pull in viewer-lion to cut off DRTVWR-373
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.cpp')
-rwxr-xr-x | indra/newview/llfolderviewmodelinventory.cpp | 6 |
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) { |