diff --git a/Telegram/SourceFiles/history/admin_log/history_admin_log_section.cpp b/Telegram/SourceFiles/history/admin_log/history_admin_log_section.cpp index 5f972b9b4..74cc211c6 100644 --- a/Telegram/SourceFiles/history/admin_log/history_admin_log_section.cpp +++ b/Telegram/SourceFiles/history/admin_log/history_admin_log_section.cpp @@ -398,7 +398,8 @@ void Widget::setupShortcuts() { ) | rpl::filter([=] { return Ui::AppInFocus() && Ui::InFocusChain(this) - && !Ui::isLayerShown(); + && !Ui::isLayerShown() + && isActiveWindow(); }) | rpl::start_with_next([=](not_null request) { using Command = Shortcuts::Command; request->check(Command::Search, 2) && request->handle([=] { diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index f34d6c11b..1e21514b2 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -1814,7 +1814,8 @@ void HistoryWidget::setupShortcuts() { ) | rpl::filter([=] { return Ui::AppInFocus() && Ui::InFocusChain(this) - && !Ui::isLayerShown(); + && !Ui::isLayerShown() + && (Core::App().activeWindow() == &controller()->window()); }) | rpl::start_with_next([=](not_null request) { using Command = Shortcuts::Command; if (_history) { diff --git a/Telegram/SourceFiles/info/info_wrap_widget.cpp b/Telegram/SourceFiles/info/info_wrap_widget.cpp index e96dbdf5c..7069f79a8 100644 --- a/Telegram/SourceFiles/info/info_wrap_widget.cpp +++ b/Telegram/SourceFiles/info/info_wrap_widget.cpp @@ -109,7 +109,9 @@ WrapWidget::WrapWidget( void WrapWidget::setupShortcuts() { Shortcuts::Requests( ) | rpl::filter([=] { - return requireTopBarSearch(); + return requireTopBarSearch() + && (Core::App().activeWindow() + == &_controller->parentController()->window()); }) | rpl::start_with_next([=](not_null request) { using Command = Shortcuts::Command; request->check(Command::Search) && request->handle([=] { diff --git a/Telegram/SourceFiles/menu/menu_send.cpp b/Telegram/SourceFiles/menu/menu_send.cpp index 01f231642..8fbb95fd6 100644 --- a/Telegram/SourceFiles/menu/menu_send.cpp +++ b/Telegram/SourceFiles/menu/menu_send.cpp @@ -104,7 +104,9 @@ void SetupMenuAndShortcuts( }); Shortcuts::Requests( - ) | rpl::start_with_next([=](not_null request) { + ) | rpl::filter([=] { + return button->isActiveWindow(); + }) | rpl::start_with_next([=](not_null request) { using Command = Shortcuts::Command; const auto now = type(); diff --git a/Telegram/SourceFiles/window/window_session_controller.cpp b/Telegram/SourceFiles/window/window_session_controller.cpp index 40a5961ff..d0d5a188d 100644 --- a/Telegram/SourceFiles/window/window_session_controller.cpp +++ b/Telegram/SourceFiles/window/window_session_controller.cpp @@ -767,7 +767,9 @@ void SessionController::initSupportMode() { session().supportHelper().registerWindow(this); Shortcuts::Requests( - ) | rpl::start_with_next([=](not_null request) { + ) | rpl::filter([=] { + return (Core::App().activeWindow() == &window()); + }) | rpl::start_with_next([=](not_null request) { using C = Shortcuts::Command; request->check(C::SupportHistoryBack) && request->handle([=] {