summaryrefslogtreecommitdiff
path: root/indra/newview/llfolderviewmodelinventory.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2017-10-11 09:13:55 -0400
committerOz Linden <oz@lindenlab.com>2017-10-11 09:13:55 -0400
commitd62ad1ef8afc1b9abadbc611d373a7a7d9afc368 (patch)
tree9f14b141e692c3b78eee846f12fc021feacf1de6 /indra/newview/llfolderviewmodelinventory.cpp
parentc0ac11e24022eb51918e825414f2c04f3085bc61 (diff)
parentb6d22de58850fc9a5b34eeb5b7930e5845bfc42d (diff)
merge changes for 5.0.8-release
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.cpp')
-rw-r--r--indra/newview/llfolderviewmodelinventory.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index e9f80b795a..d53cf2a9a3 100644
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -258,6 +258,15 @@ bool LLFolderViewModelItemInventory::filter( LLFolderViewFilter& filter)
{
// This is where filter check on the item done (CHUI-849)
const bool passed_filter = filter.check(this);
+ if (passed_filter && mChildren.empty()) // Update the latest filter generation for empty folders
+ {
+ LLFolderViewModelItemInventory* view_model = this;
+ while (view_model && view_model->mMostFilteredDescendantGeneration < filter_generation)
+ {
+ view_model->mMostFilteredDescendantGeneration = filter_generation;
+ view_model = static_cast<LLFolderViewModelItemInventory*>(view_model->mParent);
+ }
+ }
setPassedFilter(passed_filter, filter_generation, filter.getStringMatchOffset(this), filter.getFilterStringSize());
continue_filtering = !filter.isTimedOut();
}