From 058046304db2ed3475b773fa04df9e8beea7d6e9 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 5 Nov 2014 19:50:24 +0800 Subject: [PATCH] Forbid using dialog module before app is ready --- atom/browser/api/lib/dialog.coffee | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/atom/browser/api/lib/dialog.coffee b/atom/browser/api/lib/dialog.coffee index 0cdd3c3838..49b1c0ef00 100644 --- a/atom/browser/api/lib/dialog.coffee +++ b/atom/browser/api/lib/dialog.coffee @@ -1,5 +1,6 @@ binding = process.atomBinding 'dialog' v8Util = process.atomBinding 'v8_util' +app = require 'app' BrowserWindow = require 'browser-window' fileDialogProperties = @@ -22,8 +23,12 @@ parseArgs = (window, options, callback) -> options = null [window, options, callback] +checkAppInitialized = -> + throw new Error('dialog module can only be used after app is ready') unless app.isReady() + module.exports = showOpenDialog: (args...) -> + checkAppInitialized() [window, options, callback] = parseArgs args... options ?= title: 'Open', properties: ['openFile'] @@ -52,6 +57,7 @@ module.exports = wrappedCallback showSaveDialog: (args...) -> + checkAppInitialized() [window, options, callback] = parseArgs args... options ?= title: 'Save' @@ -72,6 +78,7 @@ module.exports = wrappedCallback showMessageBox: (args...) -> + checkAppInitialized() [window, options, callback] = parseArgs args... options ?= type: 'none'