From 003b9e48e166383cd4e5583d63ed19cc4b0b7f82 Mon Sep 17 00:00:00 2001 From: fufesou <fufesou@users.noreply.github.com> Date: Tue, 30 Apr 2024 22:53:42 +0800 Subject: [PATCH] fix: macos, crash, key input. --server also has UI. (#7878) Signed-off-by: fufesou <shuanglongchen@yeah.net> --- src/server/input_service.rs | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/server/input_service.rs b/src/server/input_service.rs index 2b180a7c4..245c86244 100644 --- a/src/server/input_service.rs +++ b/src/server/input_service.rs @@ -1086,20 +1086,24 @@ pub async fn lock_screen() { } } +#[inline] +#[cfg(target_os = "linux")] pub fn handle_key(evt: &KeyEvent) { - #[cfg(target_os = "macos")] - if !is_server() { - // having GUI, run main GUI thread, otherwise crash - let evt = evt.clone(); - QUEUE.exec_async(move || handle_key_(&evt)); - key_sleep(); - return; - } - #[cfg(windows)] - crate::portable_service::client::handle_key(evt); - #[cfg(not(windows))] handle_key_(evt); - #[cfg(target_os = "macos")] +} + +#[inline] +#[cfg(target_os = "windows")] +pub fn handle_key(evt: &KeyEvent) { + crate::portable_service::client::handle_key(evt); +} + +#[inline] +#[cfg(target_os = "macos")] +pub fn handle_key(evt: &KeyEvent) { + // having GUI, run main GUI thread, otherwise crash + let evt = evt.clone(); + QUEUE.exec_async(move || handle_key_(&evt)); key_sleep(); }