From 5b02428beeb37b0b82a8dd43ac8c53a752c55c40 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Fri, 21 Feb 2025 21:23:29 +0100 Subject: [PATCH 1/2] wayland: kill clients in event-handling stage --- src/client/tasks.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/client/tasks.rs b/src/client/tasks.rs index 5e49ef0d..97d2fb88 100644 --- a/src/client/tasks.rs +++ b/src/client/tasks.rs @@ -137,5 +137,8 @@ async fn send(data: Rc) { ); } } - data.state.clients.kill(data.id); + let run_toplevel = data.state.run_toplevel.clone(); + run_toplevel.schedule(move || { + data.state.clients.kill(data.id); + }); } From 6d608cff015568f7d44e734de4a4f0eafa88280c Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Fri, 21 Feb 2025 21:25:13 +0100 Subject: [PATCH 2/2] ei: s/clients/ei_clients --- src/ei/ei_client.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ei/ei_client.rs b/src/ei/ei_client.rs index da3684ce..185604d3 100644 --- a/src/ei/ei_client.rs +++ b/src/ei/ei_client.rs @@ -230,10 +230,10 @@ impl EiClient { match self.connection.get() { Some(d) => { d.send_disconnected(Some(&msg)); - self.state.clients.shutdown(self.id); + self.state.ei_clients.shutdown(self.id); } _ => { - self.state.clients.kill(self.id); + self.state.ei_clients.kill(self.id); } } }