From 4faf0f90988b854d354ce1c8d152884294269de0 Mon Sep 17 00:00:00 2001 From: Violet Purcell Date: Fri, 22 Nov 2024 17:31:15 -0500 Subject: [PATCH] tree/container: remove output_{enter,leave} listeners in destroy https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/0d6cc471e95c1632b234fc9152659d24fe5982f1 added an assert that all signals are clear when destroying a wlr_scene_buffer, which is currently triggering due to sway not removing the output_enter and output_leave listeners on the container before calling wlr_scene_node_destroy on output_handler. Remove the listeners before wlr_scene_node_destroy is called. --- sway/tree/container.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sway/tree/container.c b/sway/tree/container.c index 62bff1ea..a04c4c36 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -508,6 +508,8 @@ void container_destroy(struct sway_container *con) { if (con->view && con->view->container == con) { con->view->container = NULL; + wl_list_remove(&con->output_enter.link); + wl_list_remove(&con->output_leave.link); wlr_scene_node_destroy(&con->output_handler->node); if (con->view->destroying) { view_destroy(con->view);