diff --git a/src-tauri/src/api/hotkeys.rs b/src-tauri/src/api/hotkeys.rs index 87cb11a..6152ea0 100644 --- a/src-tauri/src/api/hotkeys.rs +++ b/src-tauri/src/api/hotkeys.rs @@ -18,9 +18,10 @@ struct HotkeyState { registered_hotkey: Option, } +unsafe impl Send for HotkeyState {} + pub fn setup(app_handle: tauri::AppHandle) { let state = Arc::new(Mutex::new(HotkeyState::default())); - let manager = match GlobalHotKeyManager::new() { Ok(manager) => manager, Err(err) => { @@ -43,7 +44,7 @@ pub fn setup(app_handle: tauri::AppHandle) { eprintln!("Error registering initial shortcut: {:?}", e); } - let state_clone = state.clone(); + let state_clone = Arc::clone(&state); app_handle.listen("update-shortcut", move |event| { let payload_str = event.payload().replace("\\\"", "\""); let trimmed_str = payload_str.trim_matches('"'); @@ -55,7 +56,7 @@ pub fn setup(app_handle: tauri::AppHandle) { } }); - let state_clone = state.clone(); + let state_clone = Arc::clone(&state); app_handle.listen("save_keybind", move |event| { let payload_str = event.payload().to_string(); unregister_current_hotkey(&state_clone);