From 64caa0748036a153ab928b28a6ec73f7daac8b0d Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Wed, 27 Feb 2019 16:31:14 +0000 Subject: [PATCH] Fixed hanging process on close --- app.js | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/app.js b/app.js index cf1ef613..a4df4f3b 100644 --- a/app.js +++ b/app.js @@ -8,15 +8,17 @@ const BrowserWindow = electron.BrowserWindow const isDev = (process.env.NODE_ENV === 'DEV'); let url = `file://${path.join(__dirname, '/dist/index.html')}` +let mainWindow -app.on('ready', () => { - let window = new BrowserWindow({ +function createWindow() { + // Create the browser window. + mainWindow = new BrowserWindow({ width: 1124, height: 800, - icon: path.join(__dirname, '/src/assets/icons/png/64x64.png') + icon: path.join(__dirname, '/icons/png/64x64.png') }) - window.setMenu(null); + mainWindow.setMenu(null); contextMenu({ showCopyImageAddress: true, @@ -24,5 +26,35 @@ app.on('ready', () => { showInspectElement: isDev, }); - window.loadURL(url) + mainWindow.loadURL(url) + + // Emitted when the window is closed. + mainWindow.on('closed', function() { + // Dereference the window object, usually you would store windows + // in an array if your app supports multi windows, this is the time + // when you should delete the corresponding element. + mainWindow = null + }) +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.on('ready', createWindow) + +// Quit when all windows are closed. +app.on('window-all-closed', function() { + // On OS X it is common for applications and their menu bar + // to stay active until the user quits explicitly with Cmd + Q + if (process.platform !== 'darwin') { + app.quit() + } +}) + +app.on('activate', function() { + // On OS X it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (mainWindow === null) { + createWindow() + } }) \ No newline at end of file