inherit user-specific MenuItem properties more safely

This commit is contained in:
Zeke Sikelianos 2016-10-10 14:40:49 -07:00
parent 2cd10d339f
commit b575055d7e

View file

@ -7,12 +7,10 @@ let nextCommandId = 0
const MenuItem = function (options) { const MenuItem = function (options) {
const {Menu} = require('electron') const {Menu} = require('electron')
// Clone and sanitize the provided options // Preserve extra fields specified by user
options = Object.assign({}, options) for (let key in options) {
delete options.overrideProperty if (!(key in this)) this[key] = options[key]
delete options.overrideReadOnlyProperty }
Object.assign(this, options)
if (this.submenu != null && this.submenu.constructor !== Menu) { if (this.submenu != null && this.submenu.constructor !== Menu) {
this.submenu = Menu.buildFromTemplate(this.submenu) this.submenu = Menu.buildFromTemplate(this.submenu)