From e6efd3071b49836946e5df93b5aff2234fdcf1c2 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Tue, 5 Nov 2024 17:25:21 +0800 Subject: [PATCH] fix: fix shortcut registration and unregistration --- src/main/services/ShortcutService.ts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/services/ShortcutService.ts b/src/main/services/ShortcutService.ts index 1c8040b9dc..bd6426f1c3 100644 --- a/src/main/services/ShortcutService.ts +++ b/src/main/services/ShortcutService.ts @@ -40,14 +40,27 @@ export function registerZoomShortcut(mainWindow: BrowserWindow) { globalShortcut.unregister('CommandOrControl+0') } - // 当窗口获得焦点时注册快捷键 - mainWindow.on('focus', registerShortcuts) + // Add check for window destruction + if (mainWindow.isDestroyed()) { + return + } - // 当窗口失去焦点时注销快捷键 - mainWindow.on('blur', unregisterShortcuts) + // When window gains focus, register shortcuts + mainWindow.on('focus', () => { + if (!mainWindow.isDestroyed()) { + registerShortcuts() + } + }) - // 初始注册(如果窗口已经处于焦点状态) - if (mainWindow.isFocused()) { + // When window loses focus, unregister shortcuts + mainWindow.on('blur', () => { + if (!mainWindow.isDestroyed()) { + unregisterShortcuts() + } + }) + + // Initial registration (if window is already focused) + if (!mainWindow.isDestroyed() && mainWindow.isFocused()) { registerShortcuts() } }