diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 003013bd9f..8fe4ac6563 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -2694,11 +2694,7 @@ void HistoryWidget::updateControlsVisibility() { if (_inlineResults) { _inlineResults->hide(); } - if (!_field->isHidden()) { - _field->hide(); - updateControlsGeometry(); - update(); - } + hideFieldIfVisible(); } else if (editingMessage() || _canSendMessages) { checkFieldAutocomplete(); _unblock->hide(); @@ -2807,16 +2803,23 @@ void HistoryWidget::updateControlsVisibility() { _inlineResults->hide(); } _kbScroll->hide(); - if (!_field->isHidden()) { - _field->hide(); - updateControlsGeometry(); - update(); - } + hideFieldIfVisible(); } //checkTabbedSelectorToggleTooltip(); updateMouseTracking(); } +void HistoryWidget::hideFieldIfVisible() { + if (_field->isHidden()) { + return; + } else if (InFocusChain(_field)) { + setFocus(); + } + _field->hide(); + updateControlsGeometry(); + update(); +} + void HistoryWidget::showAboutTopPromotion() { Expects(_history != nullptr); Expects(_list != nullptr); diff --git a/Telegram/SourceFiles/history/history_widget.h b/Telegram/SourceFiles/history/history_widget.h index 4bae19f304..ce23a06b06 100644 --- a/Telegram/SourceFiles/history/history_widget.h +++ b/Telegram/SourceFiles/history/history_widget.h @@ -382,6 +382,7 @@ private: void setMembersShowAreaActive(bool active); void handleHistoryChange(not_null history); void showAboutTopPromotion(); + void hideFieldIfVisible(); void unreadCountUpdated(); void closeCurrent();