diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index da58fd030..ca9994f32 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -2881,6 +2881,12 @@ bool Widget::applySearchState(SearchState state) { state.inChat = session().data().history(session().user()); } + const auto clearQuery = state.fromPeer + && (_lastSearchText == HistoryView::SwitchToChooseFromQuery()); + if (clearQuery) { + state.query = _lastSearchText = QString(); + } + const auto inChatChanged = (_searchState.inChat != state.inChat); const auto fromPeerChanged = (_searchState.fromPeer != state.fromPeer); const auto tagsChanged = (_searchState.tags != state.tags); @@ -2962,10 +2968,6 @@ bool Widget::applySearchState(SearchState state) { _subsectionTopBar->searchEnableJumpToDate( _openedForum && _searchState.inChat); } - if (_searchState.fromPeer - && _lastSearchText == HistoryView::SwitchToChooseFromQuery()) { - cancelSearch(); - } if (!_searchState.inChat && _searchState.query.isEmpty()) { setInnerFocus(); } else if (!_subsectionTopBar || !_subsectionTopBar->searchSetFocus()) {