diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index e1e381de..656f6626 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -982,12 +982,12 @@ static void scene_output_send_leave_iterator(struct wlr_surface *surface, } void wlr_scene_output_destroy(struct wlr_scene_output *scene_output) { - wlr_addon_finish(&scene_output->addon); - wl_list_remove(&scene_output->link); - wlr_scene_output_for_each_surface(scene_output, scene_output_send_leave_iterator, scene_output->output); + wlr_addon_finish(&scene_output->addon); + wl_list_remove(&scene_output->link); + free(scene_output); }