From 74379879ddb2edd7e9628ffbcd931602b9db9dcf Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 19 Mar 2022 22:34:50 +0100 Subject: [PATCH] Fixed a crash --- src/events/Events.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/events/Events.cpp b/src/events/Events.cpp index 4e31a065..c0390f95 100644 --- a/src/events/Events.cpp +++ b/src/events/Events.cpp @@ -125,11 +125,11 @@ void Events::listener_monitorDestroy(wl_listener* listener, void* data) { void Events::listener_newLayerSurface(wl_listener* listener, void* data) { const auto WLRLAYERSURFACE = (wlr_layer_surface_v1*)data; - if (!WLRLAYERSURFACE->output->data) { + if (!WLRLAYERSURFACE->output || !WLRLAYERSURFACE->output->data) { Debug::log(LOG, "New LayerSurface has no preferred monitor."); } - const auto PMONITOR = (SMonitor*)(WLRLAYERSURFACE->output->data ? WLRLAYERSURFACE->output->data : g_pCompositor->getMonitorFromCursor()); + const auto PMONITOR = (SMonitor*)((WLRLAYERSURFACE->output && WLRLAYERSURFACE->output->data) ? WLRLAYERSURFACE->output->data : g_pCompositor->getMonitorFromCursor()); PMONITOR->m_aLayerSurfaceLists[WLRLAYERSURFACE->pending.layer].push_back(new SLayerSurface()); SLayerSurface* layerSurface = PMONITOR->m_aLayerSurfaceLists[WLRLAYERSURFACE->pending.layer].back();