From eab26fb3a60b4422ffddf0ae30719915eb4191fc Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 7 Jan 2014 19:19:42 -0700 Subject: [PATCH] Properly exit when render process crashes if exitWhenDone option is true Previously, we were referring to an undefined `atom` global to exit when the render process crashed in specs. Now we only exit when exitWhenDone is true, which will only exit in headless specs. Also, we now call .exit on an object that's actually defined. --- src/browser/atom-application.coffee | 2 ++ src/browser/atom-window.coffee | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index 3e9aacc18..fa18a59c1 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -52,6 +52,8 @@ class AtomApplication resourcePath: null version: null + exit: (status) -> app.exit(status) + constructor: (options) -> {@resourcePath, @version, @devMode} = options global.atomApplication = this diff --git a/src/browser/atom-window.coffee b/src/browser/atom-window.coffee index 9a15c251b..0f09bfaa4 100644 --- a/src/browser/atom-window.coffee +++ b/src/browser/atom-window.coffee @@ -18,7 +18,7 @@ class AtomWindow isSpec: null constructor: (settings={}) -> - {@resourcePath, pathToOpen, initialLine, @isSpec} = settings + {@resourcePath, pathToOpen, initialLine, @isSpec, @exitWhenDone} = settings global.atomApplication.addWindow(this) @setupNodePath(@resourcePath) @@ -82,7 +82,7 @@ class AtomWindow @browserWindow.destroy() if chosen is 0 @browserWindow.on 'crashed', => - atom.exit(100) if @isSpec + global.atomApplication.exit(100) if @exitWhenDone chosen = dialog.showMessageBox @browserWindow, type: 'warning'