From 8c9ceab799c7c4ef0bd3ee00bfb5d8f269a8c28e Mon Sep 17 00:00:00 2001 From: Mars-Wave <57585293+Mars-Wave@users.noreply.github.com> Date: Mon, 28 Sep 2026 15:07:56 +0200 Subject: [PATCH] Free the head surface when a head is destroyed --- src/outputs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/outputs.c b/src/outputs.c index ee7eb95..4883dca 100644 --- a/src/outputs.c +++ b/src/outputs.c @@ -420,6 +420,9 @@ static void wd_head_destroy(struct wd_head *head) { free(head->render); head->render = NULL; } + if (head->surface != NULL) { + cairo_surface_destroy(head->surface); + } struct wd_mode *mode, *mode_tmp; wl_list_for_each_safe(mode, mode_tmp, &head->modes, link) { zwlr_output_mode_v1_destroy(mode->wlr_mode);