summaryrefslogtreecommitdiff
path: root/src/events
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-19 22:34:50 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-19 22:34:50 +0100
commit74379879ddb2edd7e9628ffbcd931602b9db9dcf (patch)
treed77c218e356ba64b74d00e0844dea777431fdbc9 /src/events
parent221acebf2cff1125d3183d5bb0ace17a8f4da9de (diff)
Fixed a crash
Diffstat (limited to 'src/events')
-rw-r--r--src/events/Events.cpp4
1 files 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();