From 37479b8053b7cb9fcad79b4ecedc11925d82e1e8 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 19 Jun 2016 16:18:15 +0200 Subject: Compositor: always use move item when positioning shell surfaces Change-Id: I770829cd4dbc2b6669abfde6f21c1967357cc562 Reviewed-by: Johan Helsing Reviewed-by: Erik Larsson Reviewed-by: Paul Olav Tvete --- src/compositor/extensions/qwaylandxdgshellintegration.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/compositor/extensions/qwaylandxdgshellintegration.cpp b/src/compositor/extensions/qwaylandxdgshellintegration.cpp index 41d559e4d..514f956ba 100644 --- a/src/compositor/extensions/qwaylandxdgshellintegration.cpp +++ b/src/compositor/extensions/qwaylandxdgshellintegration.cpp @@ -119,7 +119,7 @@ void XdgShellIntegration::handleStartResize(QWaylandInputDevice *inputDevice, QW resizeState.inputDevice = inputDevice; resizeState.resizeEdges = edges; resizeState.initialWindowSize = m_xdgSurface->windowGeometry().size(); - resizeState.initialPosition = m_item->position(); + resizeState.initialPosition = m_item->moveItem()->position(); resizeState.initialSurfaceSize = m_item->surface()->size(); resizeState.initialized = false; } @@ -127,7 +127,7 @@ void XdgShellIntegration::handleStartResize(QWaylandInputDevice *inputDevice, QW void XdgShellIntegration::handleSetMaximized() { maximizeState.initialWindowSize = m_xdgSurface->windowGeometry().size(); - maximizeState.initialPosition = m_item->position(); + maximizeState.initialPosition = m_item->moveItem()->position(); QWaylandOutput *output = m_item->view()->output(); m_xdgSurface->sendMaximized(output->availableGeometry().size() / output->scaleFactor()); @@ -142,9 +142,9 @@ void XdgShellIntegration::handleMaximizedChanged() { if (m_xdgSurface->maximized()) { QWaylandOutput *output = m_item->view()->output(); - m_item->setPosition(output->availableGeometry().topLeft()); + m_item->moveItem()->setPosition(output->position() + output->availableGeometry().topLeft()); } else { - m_item->setPosition(maximizeState.initialPosition); + m_item->moveItem()->setPosition(maximizeState.initialPosition); } } @@ -164,7 +164,7 @@ void XdgShellIntegration::handleSurfaceSizeChanged() if (resizeState.resizeEdges & QWaylandXdgSurface::ResizeEdge::LeftEdge) x += resizeState.initialSurfaceSize.width() - m_item->surface()->size().width(); - m_item->setPosition(QPointF(x, y)); + m_item->moveItem()->setPosition(QPointF(x, y)); } } @@ -174,7 +174,7 @@ XdgPopupIntegration::XdgPopupIntegration(QWaylandQuickShellSurfaceItem *item) , m_xdgShell(QWaylandXdgPopupPrivate::get(m_xdgPopup)->m_xdgShell) { item->setSurface(m_xdgPopup->surface()); - item->setPosition(QPointF(m_xdgPopup->position() * item->view()->output()->scaleFactor())); + item->moveItem()->setPosition(QPointF(m_xdgPopup->position() * item->view()->output()->scaleFactor())); QWaylandClient *client = m_xdgPopup->surface()->client(); QWaylandQuickShellEventFilter::startFilter(client, [&]() { m_xdgShell->closeAllPopups(); }); -- cgit v1.2.3