diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index c2122c9748..2aa0408e65 100644 --- a/crates/gpui/src/platform/linux/wayland/client.rs +++ b/crates/gpui/src/platform/linux/wayland/client.rs @@ -1252,12 +1252,12 @@ impl Dispatch for WaylandClientStatePtr { keymap_state.update_mask(mods_depressed, mods_latched, mods_locked, 0, 0, group); state.modifiers = Modifiers::from_xkb(keymap_state); - if let Some(focused_window) = focused_window { - let input = PlatformInput::ModifiersChanged(ModifiersChangedEvent { - modifiers: state.modifiers, - }); + let input = PlatformInput::ModifiersChanged(ModifiersChangedEvent { + modifiers: state.modifiers, + }); + drop(state); - drop(state); + if let Some(focused_window) = focused_window { focused_window.handle_input(input); }