summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Zahorodnii <vlad.zahorodnii@kde.org>2023-01-12 14:49:25 +0200
committerLiang Qi <liang.qi@qt.io>2023-03-02 07:18:39 +0100
commit8586ab978d61161f66c3af4ee88022de9e92ff9e (patch)
tree8a48181edfa61aa27f0a6e5684302e65fcaf7ab7
parent4f8aa5ceaa8baa3bdbb0f1483589261094c07dde (diff)
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. Task-number: QTBUG-87303 Change-Id: I4021f497b78e62651fe606c4be21a387a92edd6c Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit d7a5dab0182cba19d7f59e542672aa3d1b2e859e) Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
index c49ab6d83..2e03da572 100644
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
@@ -450,9 +450,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, parentXdgSurface, positioner);
positioner->destroy();
delete positioner;