From 0729f18dce85cb79b8aaac325a43dba0c5e96ab3 Mon Sep 17 00:00:00 2001
From: Micah Gorrell <micah.gorrell@venafi.com>
Date: Wed, 24 May 2023 10:20:30 -0600
Subject: [PATCH] Prevent using a wlr_layer_surface after destroying it, due to
 no available outputs

---
 dwl.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dwl.c b/dwl.c
index b7436bb..1ad3d05 100644
--- a/dwl.c
+++ b/dwl.c
@@ -836,8 +836,10 @@ createlayersurface(struct wl_listener *listener, void *data)
 	if (!wlr_layer_surface->output)
 		wlr_layer_surface->output = selmon ? selmon->wlr_output : NULL;
 
-	if (!wlr_layer_surface->output)
+	if (!wlr_layer_surface->output) {
 		wlr_layer_surface_v1_destroy(wlr_layer_surface);
+		return;
+	}
 
 	layersurface = ecalloc(1, sizeof(LayerSurface));
 	layersurface->type = LayerShell;