diff options
| author | Brad Linden <brad@lindenlab.com> | 2023-05-17 11:17:48 -0700 |
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2023-05-17 11:17:48 -0700 |
| commit | 2f44377b3e98d60f1bd5b1a495c9a3aab9cfa450 (patch) | |
| tree | 0c9b22edca280d8e2a2ef280360485c139c9b829 /indra/newview/llfolderviewmodelinventory.cpp | |
| parent | 4758355c599d1487c11884d3f700981e011cb7b7 (diff) | |
| parent | 5a70639b7992842a9f74ec81b11bac56608b8f2e (diff) | |
Merge remote-tracking branch 'origin/main' into DRTVWR-559
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.cpp')
| -rw-r--r-- | indra/newview/llfolderviewmodelinventory.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index b6d856e31b..241aa96bc8 100644 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -182,11 +182,15 @@ void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_gen bool generation_skip = mMarkedDirtyGeneration >= 0 && mPrevPassedAllFilters && mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration(); + S32 last_generation = mLastFilterGeneration; LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters || generation_skip) + if (before != mPrevPassedAllFilters // Change of state + || generation_skip // Was marked dirty + // Potential change from being in-progress and invisible to visible) + || (mPrevPassedAllFilters && last_generation < mRootViewModel.getFilter().getFirstRequiredGeneration())) { // Need to rearrange the folder if the filtered state of the item changed, // previously passed item skipped filter generation changes while being dirty |
