From 7557a20679ddda8653ff8bb664c83720af787bc3 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 15 Feb 2023 10:47:10 +0400 Subject: [PATCH] Close PiP when a passcode lock is enabled. --- Telegram/SourceFiles/core/application.cpp | 3 ++- Telegram/SourceFiles/mainwindow.cpp | 1 - .../SourceFiles/media/view/media_view_overlay_widget.cpp | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp index a53162549..f618adae2 100644 --- a/Telegram/SourceFiles/core/application.cpp +++ b/Telegram/SourceFiles/core/application.cpp @@ -1118,10 +1118,11 @@ void Application::updateWindowTitles() { } void Application::lockByPasscode() { + _passcodeLock = true; enumerateWindows([&](not_null w) { - _passcodeLock = true; w->setupPasscodeLock(); }); + hideMediaView(); } void Application::maybeLockByPasscode() { diff --git a/Telegram/SourceFiles/mainwindow.cpp b/Telegram/SourceFiles/mainwindow.cpp index 11c2459b2..242511581 100644 --- a/Telegram/SourceFiles/mainwindow.cpp +++ b/Telegram/SourceFiles/mainwindow.cpp @@ -194,7 +194,6 @@ void MainWindow::setupPasscodeLock() { _passcodeLock.create(bodyWidget(), &controller()); updateControlsGeometry(); - Core::App().hideMediaView(); ui_hideSettingsAndLayer(anim::type::instant); if (_main) { _main->hide(); diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index bf2e83d62..84d1d2a57 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -3380,6 +3380,13 @@ void OverlayWidget::switchToPip() { }) | rpl::start_with_next([=] { _pip = nullptr; }, _pip->lifetime); + + Core::App().passcodeLockChanges( + ) | rpl::filter( + rpl::mappers::_1 + ) | rpl::start_with_next([=] { + _pip = nullptr; + }, _pip->lifetime); } if (isHidden()) {