From aa2a870c357284630045b05186fa7a6313c27693 Mon Sep 17 00:00:00 2001 From: KENZ Date: Sat, 18 Apr 2026 13:23:01 +0900 Subject: [PATCH] fix: Forward wayland IME events in SCTK only when `single-instance` feature enabled --- winit/Cargo.toml | 2 ++ winit/src/platform_specific/wayland/handlers/text_input.rs | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/winit/Cargo.toml b/winit/Cargo.toml index 1208cc17..41e4a582 100644 --- a/winit/Cargo.toml +++ b/winit/Cargo.toml @@ -37,6 +37,8 @@ cctk = [ "xkeysym", "dep:cctk", ] +# Prevents multiple separate process instances. +single-instance = [] [dependencies] diff --git a/winit/src/platform_specific/wayland/handlers/text_input.rs b/winit/src/platform_specific/wayland/handlers/text_input.rs index bb0c38da..eb1ed596 100644 --- a/winit/src/platform_specific/wayland/handlers/text_input.rs +++ b/winit/src/platform_specific/wayland/handlers/text_input.rs @@ -69,6 +69,10 @@ impl Dispatch for TextInputManager { _conn: &Connection, _qhandle: &QueueHandle, ) { + if cfg!(not(feature = "single-instance")) { + return; + } + let kbd_focus = match state.seats.iter_mut().find_map(|s| s.kbd_focus.clone()) { Some(surface) => surface,