diff options
Diffstat (limited to 'src/compositor/extensions/qwaylandxdgshellintegration.cpp')
-rw-r--r-- | src/compositor/extensions/qwaylandxdgshellintegration.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshellintegration.cpp b/src/compositor/extensions/qwaylandxdgshellintegration.cpp index 3de52944b..08e098210 100644 --- a/src/compositor/extensions/qwaylandxdgshellintegration.cpp +++ b/src/compositor/extensions/qwaylandxdgshellintegration.cpp @@ -179,8 +179,12 @@ void XdgToplevelIntegration::handleUnsetMaximized() void XdgToplevelIntegration::handleMaximizedChanged() { if (m_toplevel->maximized()) { - QWaylandOutput *output = m_item->view()->output(); - m_item->moveItem()->setPosition(output->position() + output->availableGeometry().topLeft()); + if (auto *output = m_item->view()->output()) { + m_item->moveItem()->setPosition(output->position() + output->availableGeometry().topLeft()); + } else { + qCWarning(qLcWaylandCompositor) << "The view does not have a corresponding output," + << "ignoring maximized state"; + } } else { m_item->moveItem()->setPosition(windowedGeometry.initialPosition); } @@ -232,7 +236,12 @@ void XdgToplevelIntegration::handleFullscreenChanged() { if (m_toplevel->fullscreen()) { QWaylandOutput *output = m_item->view()->output(); - m_item->moveItem()->setPosition(output->position() + output->geometry().topLeft()); + if (auto *output = m_item->view()->output()) { + m_item->moveItem()->setPosition(output->position() + output->geometry().topLeft()); + } else { + qCWarning(qLcWaylandCompositor) << "The view does not have a corresponding output," + << "ignoring fullscreen state"; + } } else { m_item->moveItem()->setPosition(windowedGeometry.initialPosition); } |