summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-02-17 02:31:35 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-02-17 02:31:35 +0200
commit375d01e17aae74f7e2d8bc21a976b11964e8ce59 (patch)
tree44d5a7935fd0c4dde0f69d00e3ab4f103d1962a2 /indra/llui
parent8032b2d72e9c38f11f8f3c177873b96104d433eb (diff)
SL-18735 Fix scroll not following item for long enough
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfolderview.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp
index 503a18f50d..62c311f522 100644
--- a/indra/llui/llfolderview.cpp
+++ b/indra/llui/llfolderview.cpp
@@ -1798,14 +1798,14 @@ void LLFolderView::update()
LLFolderViewItem* scroll_to_item = mSelectedItems.back();
scrollToShowItem(scroll_to_item, constraint_rect);
// continue scrolling until animated layout change is done
- bool selected_filter_finished = true;
- if (scroll_to_item && scroll_to_item->getViewModelItem())
+ bool selected_filter_finished = getRoot()->getViewModelItem()->getLastFilterGeneration() >= filter_object.getFirstSuccessGeneration();
+ if (selected_filter_finished && scroll_to_item && scroll_to_item->getViewModelItem())
{
selected_filter_finished = scroll_to_item->getViewModelItem()->getLastFilterGeneration() >= filter_object.getFirstSuccessGeneration();
}
if (filter_finished && selected_filter_finished)
{
- bool needs_arrange = needsArrange();
+ bool needs_arrange = needsArrange() || getRoot()->needsArrange();
if (mParentFolder)
{
needs_arrange |= (bool)mParentFolder->needsArrange();