From 10cb041a80bb815cc1789cfa305923f1f9e3713d Mon Sep 17 00:00:00 2001 From: Shawn Wallace Date: Tue, 4 Mar 2025 21:04:39 -0500 Subject: [PATCH] server: Don't panic on stale wl_pointer ObjectKey Fixes #113 --- src/server/event.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/server/event.rs b/src/server/event.rs index 470f228..22ebb03 100644 --- a/src/server/event.rs +++ b/src/server/event.rs @@ -378,9 +378,11 @@ impl HandleEvent for Pointer { surface_x, surface_y, } => 'enter: { - let surface_key: ObjectKey = surface.data().copied().unwrap(); - let Some(surface_data): Option<&SurfaceData> = - state.objects.get(surface_key).map(|o| o.as_ref()) + let Some(surface_data): Option<&SurfaceData> = surface + .data::() + .copied() + .and_then(|key| state.objects.get(key)) + .map(|o| o.as_ref()) else { warn!("could not enter surface: stale surface"); break 'enter;