appDisplay: don't try to close the popup menu that is already destroyed
This would lead to a JS error otherwise, as we might end up in deleting actors that have been already destructed. https://bugzilla.gnome.org/show_bug.cgi?id=791233
This commit is contained in:
parent
705915cd31
commit
35eac697c1
@ -1872,11 +1872,14 @@ var AppIconMenu = new Lang.Class({
|
||||
this.actor.add_style_class_name('app-well-menu');
|
||||
|
||||
// Chain our visibility and lifecycle to that of the source
|
||||
source.actor.connect('notify::mapped', Lang.bind(this, function () {
|
||||
this._sourceMappedId = source.actor.connect('notify::mapped', () => {
|
||||
if (!source.actor.mapped)
|
||||
this.close();
|
||||
}));
|
||||
source.actor.connect('destroy', Lang.bind(this, this.destroy));
|
||||
});
|
||||
source.actor.connect('destroy', () => {
|
||||
source.actor.disconnect(this._sourceMappedId);
|
||||
this.destroy();
|
||||
});
|
||||
|
||||
Main.uiGroup.add_actor(this.actor);
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user