From 889fcb3939a82b14a259505841e0c712fa3385b1 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 20 Nov 2024 07:51:40 +0300 Subject: [PATCH] Optimized height refresh of non-main list on receiving chats filters. --- Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 6012f9d73..47ed14dfc 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -287,9 +287,13 @@ InnerWidget::InnerWidget( }, lifetime()); rpl::merge( - session().settings().archiveCollapsedChanges() | rpl::to_empty, - session().data().chatsFilters().changed() - ) | rpl::start_with_next([=] { + session().settings().archiveCollapsedChanges() | rpl::map_to(false), + session().data().chatsFilters().changed() | rpl::map_to(true) + ) | rpl::start_with_next([=](bool refreshHeight) { + if (refreshHeight && _filterId) { + // Height of the main list will be refreshed in other way. + _shownList->updateHeights(_narrowRatio); + } refreshWithCollapsedRows(); }, lifetime());