summaryrefslogtreecommitdiffstats
path: root/src/compositor/extensions/qwaylandxdgshellintegration.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-10-19 03:02:14 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-10-19 03:02:14 +0200
commita382762ed9692d11679d769437eba7ff2df544d1 (patch)
treed2fb36883e8523249c21fd3b28693f8606a4f9b7 /src/compositor/extensions/qwaylandxdgshellintegration.cpp
parent1df9e1896b3760b72e518f473a97050e8cf229b0 (diff)
parentbb1b46a4862e0a562b8f55e3410394492bd48b1f (diff)
Merge remote-tracking branch 'origin/5.14' into 5.15
Diffstat (limited to 'src/compositor/extensions/qwaylandxdgshellintegration.cpp')
-rw-r--r--src/compositor/extensions/qwaylandxdgshellintegration.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshellintegration.cpp b/src/compositor/extensions/qwaylandxdgshellintegration.cpp
index 336ede3cc..0aa160544 100644
--- a/src/compositor/extensions/qwaylandxdgshellintegration.cpp
+++ b/src/compositor/extensions/qwaylandxdgshellintegration.cpp
@@ -191,8 +191,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);
}
@@ -243,8 +247,12 @@ void XdgToplevelIntegration::handleUnsetFullscreen()
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);
}