summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2016-06-19 16:18:15 +0200
committerPier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>2016-07-01 08:18:57 +0000
commit37479b8053b7cb9fcad79b4ecedc11925d82e1e8 (patch)
treeb4e9273c48de1bd53a3b48d6cc13bfbb52b2037c
parent09aa17e0a85cdd85f0ebf80e5344e44e7db3c83c (diff)
Compositor: always use move item when positioning shell surfaces
Change-Id: I770829cd4dbc2b6669abfde6f21c1967357cc562 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r--src/compositor/extensions/qwaylandxdgshellintegration.cpp12
1 files 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(); });