From 5c2c71131caa131ec00505bf114e6e0dc2cba989 Mon Sep 17 00:00:00 2001 From: viarotel Date: Mon, 14 Jul 2025 14:37:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Fixed=20the=20issue=20whe?= =?UTF-8?q?re=20there=20is=20a=20chance=20of=20an=20error=20when=20closing?= =?UTF-8?q?=20the=20floating=20control=20bar=20on=20macOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- control/App.vue | 5 +---- control/electron/main.js | 4 ++++ electron/ipc/app/index.js | 10 ++++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/control/App.vue b/control/App.vue index 7761489b2..491aedb1f 100644 --- a/control/App.vue +++ b/control/App.vue @@ -64,7 +64,6 @@ import { i18n } from '$/locales/index.js' import localeModel from '$/plugins/element-plus/locale.js' const deviceStore = useDeviceStore() -const themeStore = useThemeStore() const locale = computed(() => { const i18nLocale = i18n.global.locale.value @@ -76,12 +75,10 @@ const locale = computed(() => { const deviceInfo = ref({}) -const deviceList = ref([]) - const deviceName = computed(() => deviceStore.getLabel(deviceInfo.value, ({ deviceName }) => deviceName)) function handleClose() { - window.electron.ipcRenderer.send('hide-active-window') + window.electron.ipcRenderer.invoke('hide-control-window') } async function switchDevice(e) { diff --git a/control/electron/main.js b/control/electron/main.js index e969840bc..682d2dd8a 100644 --- a/control/electron/main.js +++ b/control/electron/main.js @@ -29,4 +29,8 @@ export default (mainWindow) => { onControlMounted(controlWindow) }) }) + + ipcMain.handle('hide-control-window', () => { + controlWindow.hide() + }) } diff --git a/electron/ipc/app/index.js b/electron/ipc/app/index.js index ccbf1410b..68caace44 100644 --- a/electron/ipc/app/index.js +++ b/electron/ipc/app/index.js @@ -9,11 +9,17 @@ export default () => { ipcMain.on('close-active-window', (event) => { const win = BrowserWindow.getFocusedWindow() - win.close() + + if (win) { + win.close() + } }) ipcMain.on('hide-active-window', (event) => { const win = BrowserWindow.getFocusedWindow() - win.hide() + + if (win) { + win.hide() + } }) }