tree/container: remove event listeners on destroy

Change begin_destroy to remove event listeners before the final destroy,
since otherwise event listeners would be removed twice, which crashes.

This fixes a crash in wlroots listener checks. See #8509.
This commit is contained in:
Ferdinand Bachmann 2025-02-18 23:14:06 +01:00 committed by Simon Ser
parent 53126cdceb
commit ab2e1f5817
2 changed files with 18 additions and 2 deletions

View file

@ -95,6 +95,7 @@ struct sway_container {
struct wl_listener output_enter;
struct wl_listener output_leave;
struct wl_listener output_handler_destroy;
struct sway_container_state current;
struct sway_container_state pending;