From 49e143f84eda332096840ac5e5465557c3c2c9de Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 20 Mar 2022 08:58:50 +0400 Subject: [PATCH] Synchronize capture source chooser's screen detection code with media viewer --- .../calls/group/ui/desktop_capture_choose_source.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/calls/group/ui/desktop_capture_choose_source.cpp b/Telegram/SourceFiles/calls/group/ui/desktop_capture_choose_source.cpp index a39e5ca45..e0be8b20b 100644 --- a/Telegram/SourceFiles/calls/group/ui/desktop_capture_choose_source.cpp +++ b/Telegram/SourceFiles/calls/group/ui/desktop_capture_choose_source.cpp @@ -22,6 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include #include +#include #include namespace Calls::Group::Ui::DesktopCapture { @@ -575,7 +576,15 @@ void ChooseSourceProcess::setupGeometryWithParent( not_null parent) { if (const auto handle = parent->windowHandle()) { _window->createWinId(); - const auto parentScreen = handle->screen(); + const auto parentScreen = [&] { + if (!::Platform::IsWayland()) { + if (const auto screen = QGuiApplication::screenAt( + parent->geometry().center())) { + return screen; + } + } + return handle->screen(); + }(); const auto myScreen = _window->windowHandle()->screen(); if (parentScreen && myScreen != parentScreen) { _window->windowHandle()->setScreen(parentScreen);