Skip to content

Commit 6b9a5e6

Browse files
committed
Prevent exception when no active window
1 parent 91abf22 commit 6b9a5e6

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

ipc/consumer.js

+15-7
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,36 @@ const url = require('url')
77
const fetch = require('node-fetch')
88
const semver = require('semver')
99

10+
function sendToWebContent (event) {
11+
const win = BrowserWindow.getFocusedWindow()
12+
const webContent = win && win.webContents
13+
if (webContent) {
14+
webContent.send(event)
15+
}
16+
}
17+
1018
module.exports = function (commandId, args = {}) {
1119
switch (commandId) {
1220
case 'createWindow':
1321
createWindow(args)
1422
break
1523
case 'refreshWindow':
16-
BrowserWindow.getFocusedWindow().webContents.send('web:refresh')
24+
sendToWebContent('web:refresh')
1725
break
1826
case 'learnMore':
1927
shell.openExternal('https://hackmd.io')
2028
break
2129
case 'goForward':
22-
BrowserWindow.getFocusedWindow().webContents.send('web:go-forward')
30+
sendToWebContent('web:go-forward')
2331
break
2432
case 'goBack':
25-
BrowserWindow.getFocusedWindow().webContents.send('web:go-back')
33+
sendToWebContent('web:go-back')
2634
break
2735
case 'configServerUrl':
28-
BrowserWindow.getFocusedWindow().webContents.send('config-serverurl')
36+
sendToWebContent('config-serverurl')
2937
break
3038
case 'openFromUrl':
31-
BrowserWindow.getFocusedWindow().webContents.send('open-from-url')
39+
sendToWebContent('open-from-url')
3240
break
3341
case 'checkVersion':
3442
return fetch(url.resolve(getServerUrl(), '/status')).then(response => {
@@ -44,10 +52,10 @@ module.exports = function (commandId, args = {}) {
4452
}
4553
}).catch(err => console.log(err))
4654
case 'copyUrl':
47-
BrowserWindow.getFocusedWindow().webContents.send('copy-url')
55+
sendToWebContent('copy-url')
4856
break
4957
case 'toggleSearch':
50-
BrowserWindow.getFocusedWindow().webContents.send('toggle-search')
58+
sendToWebContent('toggle-search')
5159
break
5260
default:
5361
break

main.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { app, Menu } = require('electron')
1+
const { app, Menu, BrowserWindow } = require('electron')
22
const path = require('path')
33
const menu = require('./menu')
44
const { createWindow } = require('./window')
@@ -22,5 +22,7 @@ app.on('window-all-closed', () => {
2222
})
2323

2424
app.on('activate', () => {
25-
initializeApp()
25+
if (process.platform === 'darwin' && BrowserWindow.getAllWindows().length === 0) {
26+
initializeApp()
27+
}
2628
})

0 commit comments

Comments
 (0)