diff options
author | David Redondo <qt@david-redondo.de> | 2022-06-08 11:25:59 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-07-22 15:26:54 +0000 |
commit | 1a07779a2578e254bdbc1e4e76ffb4904e53b0aa (patch) | |
tree | 44c7cf30fd07eca4d72eebea1a8894789557b3e1 /src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp | |
parent | 8feaf5e09ab55941503caf43008dbfefd8d03de3 (diff) | |
download | qtwayland-1a07779a2578e254bdbc1e4e76ffb4904e53b0aa.tar.gz |
Keep toplevel windows in the top left corner of the screen
We can't know the actual position of a window on the screen. This causes
an issue when Widgets try to position a popup/menu absolutely and keep
it on the screen when the screen geometry doesn't include (0,0).
Instead report their positions always as the top left corner of
the screen that they are on.
This new behavior can be disabled for qt-shell or via an environment
variable by users that rely on the old behavior.
Fixes: QTBUG-85297
Change-Id: Iacb91cb03a0df87af950115760d2f41124ac06a3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
(cherry picked from commit a46795a22e05722917c6ebc60ed01bebf49898ae)
Reviewed-by: Ilya Fedin <fedin-ilja2010@ya.ru>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp')
-rw-r--r-- | src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp b/src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp index 9b7b38b4..17b87033 100644 --- a/src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp +++ b/src/plugins/shellintegration/qt-shell/qwaylandqtshellintegration.cpp @@ -22,6 +22,7 @@ namespace QtWaylandClient { QWaylandQtShellIntegration::QWaylandQtShellIntegration() : QWaylandShellIntegrationTemplate(1) { + QWaylandWindow::fixedToplevelPositions = false; } QWaylandShellSurface *QWaylandQtShellIntegration::createShellSurface(QWaylandWindow *window) |