From 335d966a30b711d003a9b0c1282f6a8ab0486b28 Mon Sep 17 00:00:00 2001 From: IRCF Date: Sat, 4 Jan 2025 10:12:56 +0330 Subject: [PATCH] Adding the handleShutdown method to enhance the app's exit logic during system shutdown/restart --- src/main/main.ts | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/main/main.ts b/src/main/main.ts index 0a152cca..52f48752 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -361,6 +361,23 @@ class OblivionDesktop { }); } + private handleShutdown() { + if (this.state.mainWindow) { + this.state.mainWindow.webContents.send('app-shutdown'); + } + return new Promise(async (resolve, reject) => { + try { + if (this.state.mainWindow) { + await exitTheApp(this.state.mainWindow); + } + resolve(); + } catch (error) { + reject(error); + log.error('Error during shutdown:', error); + } + }); + } + private setupAppEvents(): void { app.on('second-instance', () => { if (this.state.mainWindow) { @@ -400,19 +417,19 @@ class OblivionDesktop { powerMonitor.on('shutdown', async (event: Event) => { event.preventDefault(); try { - await exitTheApp(this.state.mainWindow); + await this.handleShutdown(); app.quit(); } catch { - app.quit(); + app.exit(1); } }); } else { app.on('session-end', async () => { try { - await exitTheApp(this.state.mainWindow); + await this.handleShutdown(); app.quit(); } catch { - app.quit(); + app.exit(1); } }); }