From 7d1daab7bc5db7ef0c4be64af1e35c8a24acfa9b Mon Sep 17 00:00:00 2001 From: Aleksandr Kosachev Date: Sun, 6 Sep 2026 19:36:12 +0300 Subject: [PATCH] fix: remove foreign toplevel handle too --- src/wayland/protocols/toplevel_info.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/wayland/protocols/toplevel_info.rs b/src/wayland/protocols/toplevel_info.rs index 2dc76347..3146adc3 100644 --- a/src/wayland/protocols/toplevel_info.rs +++ b/src/wayland/protocols/toplevel_info.rs @@ -418,6 +418,12 @@ where handle.closed(); } } + // Remove the foreign handle too, so new subscribers cannot + // discover a toplevel whose window has already been destroyed. + if let Some(handle) = state.foreign_handle.take() { + self.foreign_toplevel_list.remove_toplevel(&handle); + } + *state = Default::default(); dirty = true; false }