diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 33a2a93cdb..484b840bcf 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -328,6 +328,7 @@ InnerWidget::InnerWidget( ) | rpl::filter([=] { return (_viewportHeight > 0) && (defaultScrollTop() > _visibleTop); }) | rpl::start_with_next([=] { + refreshForDefaultScroll(); jumpToTop(); }, lifetime()); @@ -1735,9 +1736,7 @@ void InnerWidget::mousePressReleased( void InnerWidget::setViewportHeight(int viewportHeight) { if (_viewportHeight != viewportHeight) { _viewportHeight = viewportHeight; - if (height() < defaultScrollTop() + viewportHeight) { - refresh(); - } + refreshForDefaultScroll(); } } @@ -2766,6 +2765,12 @@ void InnerWidget::editOpenedFilter() { } } +void InnerWidget::refreshForDefaultScroll() { + if (height() < defaultScrollTop() + _viewportHeight) { + refresh(); + } +} + void InnerWidget::refresh(bool toTop) { if (!_geometryInited) { return; diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h index c7b2d899f3..1dcaf68fee 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h @@ -122,6 +122,7 @@ public: void clearFilter(); void refresh(bool toTop = false); + void refreshForDefaultScroll(); void refreshEmptyLabel(); void resizeEmptyLabel();