From 691b66cd87715ae4d49ef2478ad0612acea39a07 Mon Sep 17 00:00:00 2001 From: DeeJanuz <45082401+DeeJanuz@users.noreply.github.com> Date: Tue, 29 Sep 2026 23:31:54 -0600 Subject: [PATCH] Stop ft-screens without an abort wlroots asserts that nothing still listens to its xdg-shell and decoration globals when the display goes, so every desktop stop ended with ft-screens aborting and leaving a core dump. Co-Authored-By: Claude Opus 5.5 --- screens/compositor.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/screens/compositor.c b/screens/compositor.c index fe1bf6c..b177d30 100644 --- a/screens/compositor.c +++ b/screens/compositor.c @@ -657,6 +657,9 @@ int main(int argc, char **argv) { wlr_log(WLR_INFO, "stopping"); if (s.child > 0) kill(s.child, SIGTERM); wl_display_destroy_clients(s.display); + // wlroots asserts that nothing still listens to its globals when they go. + wl_list_remove(&s.new_toplevel.link); + wl_list_remove(&s.new_decoration.link); ft_vr_shutdown(); wl_display_destroy(s.display); return 0;