diff --git a/src/server/event.rs b/src/server/event.rs index e856c0e..2e2afc1 100644 --- a/src/server/event.rs +++ b/src/server/event.rs @@ -1514,7 +1514,6 @@ impl Event for zwp_tablet_pad_v2::Event { tablet, surface, } => { - let (e_tab, s_tablet) = from_client::(&tablet, state); let Some(surface) = surface .data() .copied() @@ -1522,10 +1521,16 @@ impl Event for zwp_tablet_pad_v2::Event { else { return; }; + let Some(s_tablet) = + tablet + .data() + .and_then(|key: &LateInitObjectKey| { + state.world.get::<&TabletServer>(key.get()).ok() + }) + else { + return; + }; pad.enter(serial, &s_tablet, &surface); - drop(pad); - drop(surface); - state.world.spawn_at(e_tab, (tablet, s_tablet)); } _ => simple_event_shunt! { pad, self => [