From 80545504435ef5b1c55f32df6bff6318bccf3f97 Mon Sep 17 00:00:00 2001 From: PandaDEV <70103896+0PandaDEV@users.noreply.github.com> Date: Thu, 2 Jan 2025 17:10:46 +1000 Subject: [PATCH] fix: old hotkey not getting unregistered correctly --- src-tauri/src/api/hotkeys.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src-tauri/src/api/hotkeys.rs b/src-tauri/src/api/hotkeys.rs index 52a276b..69ee336 100644 --- a/src-tauri/src/api/hotkeys.rs +++ b/src-tauri/src/api/hotkeys.rs @@ -12,7 +12,7 @@ use tauri_plugin_aptabase::EventTracker; lazy_static! { static ref HOTKEY_MANAGER: Mutex> = Mutex::new(None); - static ref REGISTERED_HOTKEYS: Mutex> = Mutex::new(Vec::new()); + static ref REGISTERED_HOTKEY: Mutex> = Mutex::new(None); } pub fn setup(app_handle: tauri::AppHandle) { @@ -36,9 +36,6 @@ pub fn setup(app_handle: tauri::AppHandle) { .block_on(crate::db::settings::get_keybind(app_handle_clone.clone())) .expect("Failed to get initial keybind"); - let initial_shortcut_for_update = initial_keybind.clone(); - let initial_shortcut_for_save = initial_keybind.clone(); - if let Err(e) = register_shortcut(&initial_keybind) { eprintln!("Error registering initial shortcut: {:?}", e); } @@ -46,7 +43,7 @@ pub fn setup(app_handle: tauri::AppHandle) { app_handle.listen("update-shortcut", move |event| { let payload_str = event.payload(); - if let Ok(old_hotkey) = parse_hotkey(&initial_shortcut_for_update) { + if let Some(old_hotkey) = REGISTERED_HOTKEY.lock().unwrap().take() { let manager_guard = HOTKEY_MANAGER.lock().unwrap(); if let Some(manager) = manager_guard.as_ref() { let _ = manager.unregister(old_hotkey); @@ -63,7 +60,7 @@ pub fn setup(app_handle: tauri::AppHandle) { app_handle.listen("save_keybind", move |event| { let payload_str = event.payload().to_string(); - if let Ok(old_hotkey) = parse_hotkey(&initial_shortcut_for_save) { + if let Some(old_hotkey) = REGISTERED_HOTKEY.lock().unwrap().take() { let manager_guard = HOTKEY_MANAGER.lock().unwrap(); if let Some(manager) = manager_guard.as_ref() { let _ = manager.unregister(old_hotkey); @@ -100,7 +97,7 @@ fn register_shortcut(shortcut: &[String]) -> Result<(), Box