From a9efe77ceb8c1e08c42c6299794df890f7feeadf Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 17 Feb 2014 15:05:34 +0800 Subject: [PATCH] Fix quitAndInstall when there is no window. --- browser/api/lib/auto-updater.coffee | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/browser/api/lib/auto-updater.coffee b/browser/api/lib/auto-updater.coffee index c18580f461..53d0672677 100644 --- a/browser/api/lib/auto-updater.coffee +++ b/browser/api/lib/auto-updater.coffee @@ -9,6 +9,13 @@ autoUpdater.on 'update-downloaded-raw', (args...) -> @emit 'update-downloaded', args..., => @quitAndInstall() autoUpdater.quitAndInstall = -> + # If we don't have any window then quitAndInstall immediately. + BrowserWindow = require 'browser-window' + windows = BrowserWindow.getAllWindows() + if windows.length is 0 + AutoUpdater::quitAndInstall.call this + return + # Do the restart after all windows have been closed. app = require 'app' app.removeAllListeners 'window-all-closed' @@ -16,7 +23,6 @@ autoUpdater.quitAndInstall = -> # Tell all windows to remove beforeunload handler and then close itself. ipc = require 'ipc' - BrowserWindow = require 'browser-window' - ipc.sendChannel win.getProcessId(), win.getRoutingId(), 'ATOM_SHELL_SILENT_CLOSE' for win in BrowserWindow.getAllWindows() + ipc.sendChannel win.getProcessId(), win.getRoutingId(), 'ATOM_SHELL_SILENT_CLOSE' for win in windows module.exports = autoUpdater