diff options
author | Simon Ser <[email protected]> | 2022-11-08 17:43:49 +0100 |
---|---|---|
committer | Alexander Orzechowski <[email protected]> | 2022-11-08 16:47:59 +0000 |
commit | a71111fdea69b3134b33fce899149ade274a8232 (patch) | |
tree | fe7197e2120e29b48bd661d3f0a3ddf4466bcaac | |
parent | 13330063c46f6f3261b72d5b268a1cb5f503a90c (diff) |
scene: destroy addons before cleaning up internal state
This allows addons to access wlr_scene_node/wlr_scene_surface
fields to clean up themselves.
-rw-r--r-- | wlr_scene.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/wlr_scene.c b/wlr_scene.c index 1be2d13..0eed588 100644 --- a/wlr_scene.c +++ b/wlr_scene.c @@ -87,6 +87,7 @@ void wlr_scene_node_destroy(struct wlr_scene_node *node) { // in case the destroy signal would like to remove children before they // are recursively destroyed. wl_signal_emit_mutable(&node->events.destroy, NULL); + wlr_addon_set_finish(&node->addons); wlr_scene_node_set_enabled(node, false); @@ -130,7 +131,6 @@ void wlr_scene_node_destroy(struct wlr_scene_node *node) { } } - wlr_addon_set_finish(&node->addons); wl_list_remove(&node->link); pixman_region32_fini(&node->visible); free(node); |