Switch to using xwayland shell protocol over WL_SURFACE_ID

Seems to fix #13. This means a hard requirement on Xwayland 23.1.
This commit is contained in:
Shawn Wallace 2024-05-20 18:31:16 -04:00
parent da82e6907c
commit 3b2698f1de
7 changed files with 225 additions and 112 deletions

View file

@ -395,6 +395,9 @@ impl HandleEvent for Pointer {
}
}
client::wl_pointer::Event::Leave { serial, surface } => {
if !surface.is_alive() {
return;
}
debug!("leaving surface ({serial})");
self.pending_enter.0.take();
self.server
@ -504,7 +507,12 @@ impl HandleEvent for Keyboard {
},
Leave {
serial,
|surface| state.get_server_surface_from_client(surface)
|surface| {
if !surface.is_alive() {
return;
}
state.get_server_surface_from_client(surface)
}
},
Key {
serial,