diff options
author | andreykproductengine <akleshchev@productengine.com> | 2014-08-12 19:45:53 +0300 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2014-08-12 19:45:53 +0300 |
commit | a14ba78dbbfc925c94f1e8ed94b52bc08e626e3d (patch) | |
tree | 8c04ff9c334ce24f11d9f4c97c642a7427cdd1c6 /indra/newview | |
parent | c64544afe9cfc8204137fc7a68f2d70e4830c056 (diff) |
MAINT-4218 FIXED Adding clothing from inventory closes THAT clothing folder and hides THAT folder
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llfolderviewmodelinventory.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 7615c12043..2eca2a8974 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -129,13 +129,18 @@ void LLFolderViewModelItemInventory::requestSort() void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size) { + bool generation_skip = mMarkedDirtyGeneration >= 0 + && mPrevPassedAllFilters + && mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration(); LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters) + if (before != mPrevPassedAllFilters || generation_skip) { - // 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, + // previously passed item skipped filter generation changes while being dirty + // or previously passed not yet filtered item was marked dirty LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder(); if (parent_folder) { |