Fix browserWindow detection in menu.popup()
This commit is contained in:
parent
21de806c80
commit
5a25b88b50
2 changed files with 12 additions and 17 deletions
|
@ -53,15 +53,14 @@ Menu.prototype.popup = function (options) {
|
|||
if (typeof x !== 'number') x = -1
|
||||
if (typeof y !== 'number') y = -1
|
||||
if (typeof positioningItem !== 'number') positioningItem = -1
|
||||
if (!window || (window && window.constructor !== BrowserWindow)) {
|
||||
window = BrowserWindow.getFocusedWindow()
|
||||
|
||||
// No window focused?
|
||||
if (!window) {
|
||||
const wins = BrowserWindow.getAllWindows()
|
||||
if (wins && wins.length > 0) {
|
||||
window = wins[0]
|
||||
} else {
|
||||
// find which window to use
|
||||
const wins = BrowserWindow.getAllWindows()
|
||||
if (!wins || wins.indexOf(window) === -1) {
|
||||
window = BrowserWindow.getFocusedWindow()
|
||||
if (!window && wins && wins.length > 0) {
|
||||
window = wins[0]
|
||||
if (!window) {
|
||||
throw new Error(`Cannot open Menu without a BrowserWindow present`)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -344,15 +344,11 @@ describe('Menu module', () => {
|
|||
})
|
||||
|
||||
it('returns immediately', () => {
|
||||
const { browserWindow, x, y } = menu.popup({
|
||||
window: w,
|
||||
x: 100,
|
||||
y: 101
|
||||
})
|
||||
|
||||
assert.equal(browserWindow, w)
|
||||
assert.equal(x, 100)
|
||||
assert.equal(y, 101)
|
||||
const input = {window: w, x: 100, y: 101}
|
||||
const output = menu.popup(input)
|
||||
assert.equal(output.x, input.x)
|
||||
assert.equal(output.y, input.y)
|
||||
assert.equal(output.browserWindow, input.window)
|
||||
})
|
||||
|
||||
it('works without a given BrowserWindow and options', () => {
|
||||
|
|
Loading…
Reference in a new issue