diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp index c37342fa2..9c2f94086 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp @@ -1734,7 +1734,7 @@ void ListWidget::elementHandleViaClick(not_null bot) { } bool ListWidget::elementIsChatWide() { - return _isChatWide; + return _overrideIsChatWide.value_or(_isChatWide); } not_null ListWidget::elementPathShiftGradient() { @@ -3963,6 +3963,10 @@ void ListWidget::setEmptyInfoWidget(base::unique_qptr &&w) { } } +void ListWidget::overrideIsChatWide(bool isWide) { + _overrideIsChatWide = isWide; +} + ListWidget::~ListWidget() { // Destroy child widgets first, because they may invoke leaveEvent-s. _emptyInfo = nullptr; diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.h b/Telegram/SourceFiles/history/view/history_view_list_widget.h index c15a041b8..12e09accf 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.h +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.h @@ -343,6 +343,7 @@ public: QString elementAuthorRank(not_null view) override; void setEmptyInfoWidget(base::unique_qptr &&w); + void overrideIsChatWide(bool isWide); ~ListWidget(); @@ -725,6 +726,7 @@ private: bool _refreshingViewer = false; bool _showFinished = false; bool _resizePending = false; + std::optional _overrideIsChatWide; // _menu must be destroyed before _whoReactedMenuLifetime. rpl::lifetime _whoReactedMenuLifetime; diff --git a/Telegram/SourceFiles/settings/business/settings_shortcut_messages.cpp b/Telegram/SourceFiles/settings/business/settings_shortcut_messages.cpp index 2e1f577ca..3b1143126 100644 --- a/Telegram/SourceFiles/settings/business/settings_shortcut_messages.cpp +++ b/Telegram/SourceFiles/settings/business/settings_shortcut_messages.cpp @@ -372,6 +372,7 @@ ShortcutMessages::ShortcutMessages( this, controller, static_cast(this)); + _inner->overrideIsChatWide(false); _scroll->sizeValue() | rpl::filter([](QSize size) { return !size.isEmpty();