From c9bd776d1e854da24fdf7477fa5a296e0e4389eb Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 1 Jul 2024 10:38:41 +0400 Subject: [PATCH] Fix freeze in IV due to cyclic focus request. --- Telegram/SourceFiles/iv/iv_controller.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/iv/iv_controller.cpp b/Telegram/SourceFiles/iv/iv_controller.cpp index baad49dd1..3b30dc6db 100644 --- a/Telegram/SourceFiles/iv/iv_controller.cpp +++ b/Telegram/SourceFiles/iv/iv_controller.cpp @@ -342,9 +342,11 @@ void Controller::createWindow() { _window = std::make_unique(); const auto window = _window.get(); - window->windowActiveValue( - ) | rpl::filter([=](bool active) { - return _webview && active; + base::qt_signal_producer( + window->window()->windowHandle(), + &QWindow::activeChanged + ) | rpl::filter([=] { + return _webview && window->window()->windowHandle()->isActive(); }) | rpl::start_with_next([=] { setInnerFocus(); }, window->lifetime());