From eb1ef6d2a71b93bb4de86b7b54e57c54225d2507 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 22 Oct 2023 22:02:38 +0400 Subject: [PATCH] Fix getting the screen of viewer/pip We need to workaround getting the actual screen for the parent by getting its position yet we need to get the setted screen for the widget itself as that's the screen used to compute the geometry --- Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp | 2 +- Telegram/SourceFiles/media/view/media_view_pip.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index f7859e94d..d8544ffc5 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -817,7 +817,7 @@ void OverlayWidget::moveToScreen(bool inMove) { ? Core::App().activeWindow()->widget().get() : nullptr; const auto activeWindowScreen = widgetScreen(applicationWindow); - const auto myScreen = widgetScreen(_window); + const auto myScreen = _window->screen(); if (activeWindowScreen && myScreen != activeWindowScreen) { const auto screenList = QGuiApplication::screens(); DEBUG_LOG(("Viewer Pos: Currently on screen %1, moving to screen %2") diff --git a/Telegram/SourceFiles/media/view/media_view_pip.cpp b/Telegram/SourceFiles/media/view/media_view_pip.cpp index dbee087b0..655e7cf41 100644 --- a/Telegram/SourceFiles/media/view/media_view_pip.cpp +++ b/Telegram/SourceFiles/media/view/media_view_pip.cpp @@ -514,8 +514,8 @@ void PipPanel::setPositionDefault() { return widget->screen(); }; const auto parentScreen = widgetScreen(_parent); - const auto myScreen = widgetScreen(widget()); - if (parentScreen && myScreen && myScreen != parentScreen) { + const auto myScreen = widget()->screen(); + if (parentScreen && myScreen != parentScreen) { widget()->windowHandle()->setScreen(parentScreen); } auto position = Position();