From f3c293988e2062ad9bc5c12c1abe222e75fe536d Mon Sep 17 00:00:00 2001 From: Owen Rafferty Date: Thu, 24 Mar 2022 19:42:52 -0500 Subject: [PATCH] Layer shell: Prevent infinte configure/commit loop --- dwl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dwl.c b/dwl.c index 529dbf8..90913cc 100644 --- a/dwl.c +++ b/dwl.c @@ -150,6 +150,7 @@ typedef struct { struct wl_listener surface_commit; struct wlr_box geo; + int mapped; } LayerSurface; typedef struct { @@ -755,6 +756,12 @@ commitlayersurfacenotify(struct wl_listener *listener, void *data) wlr_scene_node_reparent(layersurface->scene, layers[wlr_layer_surface->current.layer]); + if (wlr_layer_surface->current.committed == 0 && + layersurface->mapped == wlr_layer_surface->mapped) + return; + + layersurface->mapped = wlr_layer_surface->mapped; + if (!wlr_output || !(m = wlr_output->data)) return;