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>
This commit is contained in:
Vlad Zahorodnii 2023-01-12 14:49:25 +02:00 committed by Liang Qi
parent 8a6ef48e39
commit af8732f3ef

View File

@ -459,9 +459,7 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent)
positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right); positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right);
positioner->set_size(m_window->windowContentGeometry().width(), m_window->windowContentGeometry().height()); positioner->set_size(m_window->windowContentGeometry().width(), m_window->windowContentGeometry().height());
positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x
| QtWayland::xdg_positioner::constraint_adjustment_slide_y | QtWayland::xdg_positioner::constraint_adjustment_slide_y);
| QtWayland::xdg_positioner::constraint_adjustment_flip_x
| QtWayland::xdg_positioner::constraint_adjustment_flip_y);
m_popup = new Popup(this, parent, positioner); m_popup = new Popup(this, parent, positioner);
positioner->destroy(); positioner->destroy();