42 lines
1.9 KiB
Diff
42 lines
1.9 KiB
Diff
From c4c3fc69250c01cb35aaae5ea1ea2bcc8236dff0 Mon Sep 17 00:00:00 2001
|
|
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
|
Date: Thu, 12 Jan 2023 14:49:25 +0200
|
|
Subject: [PATCH 55/55] Client: Remove flip popup constraints
|
|
|
|
xdg_positioner doesn't have good anchor rect and other needed
|
|
information so the compositor can properly flip popups. In some windows
|
|
I see that some popups are flipped in such a way that the popups look
|
|
"detached" from the parent window.
|
|
|
|
With the information that QtWayland provides so far only slide
|
|
constraint adjustments can produce somewhat expected results. Although
|
|
there will be still some issues near screen edges.
|
|
|
|
Pick-to: 6.5 6.4 6.2 5.15
|
|
Task-number: QTBUG-87303
|
|
Change-Id: I4021f497b78e62651fe606c4be21a387a92edd6c
|
|
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
(cherry picked from commit d7a5dab0182cba19d7f59e542672aa3d1b2e859e)
|
|
---
|
|
src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp | 4 +---
|
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
|
|
|
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
|
index ad666129..822b385c 100644
|
|
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
|
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
|
@@ -425,9 +425,7 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent)
|
|
positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right);
|
|
positioner->set_size(m_window->geometry().width(), m_window->geometry().height());
|
|
positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x
|
|
- | QtWayland::xdg_positioner::constraint_adjustment_slide_y
|
|
- | QtWayland::xdg_positioner::constraint_adjustment_flip_x
|
|
- | QtWayland::xdg_positioner::constraint_adjustment_flip_y);
|
|
+ | QtWayland::xdg_positioner::constraint_adjustment_slide_y);
|
|
m_popup = new Popup(this, parent, positioner);
|
|
positioner->destroy();
|
|
|
|
--
|
|
2.40.0
|
|
|