diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp index a5e61e28a73..d94afcab5c9 100644 --- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp +++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp @@ -84,7 +84,8 @@ struct wl_surface *QWaylandDisplay::createSurface(void *handle) QWaylandShellSurface *QWaylandDisplay::createShellSurface(QWaylandWindow *window) { - Q_ASSERT(mWaylandIntegration->shellIntegration()); + if (!mWaylandIntegration->shellIntegration()) + return 0; return mWaylandIntegration->shellIntegration()->createShellSurface(window); } diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp index bd59e42704d..a7668b1f0ec 100644 --- a/src/plugins/platforms/wayland/qwaylandintegration.cpp +++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp @@ -399,9 +399,7 @@ void QWaylandIntegration::initializeShellIntegration() } } - Q_ASSERT(mShellIntegration); - - if (!mShellIntegration->initialize(mDisplay)) { + if (!mShellIntegration || !mShellIntegration->initialize(mDisplay)) { delete mShellIntegration; mShellIntegration = Q_NULLPTR; qWarning("Failed to load shell integration %s", qPrintable(targetKey));