windowMenu: Close when corresponding window goes away
The menu is clearly associated with a particular window, so keeping it around when the window is gone doesn't make sense - in case of the window menu, it is actually harmful as every action will act on the invalidated window and result in a crash. So just dismiss the menu when the menu is unmanaged. https://bugzilla.gnome.org/show_bug.cgi?id=749529
This commit is contained in:
parent
dc4b8c876e
commit
60d1f7797c
@ -200,6 +200,10 @@ const WindowMenuManager = new Lang.Class({
|
||||
menu.connect('activate', function() {
|
||||
window.check_alive(global.get_current_time());
|
||||
});
|
||||
let destroyId = window.connect('unmanaged',
|
||||
function() {
|
||||
menu.close();
|
||||
});
|
||||
|
||||
this._sourceActor.set_size(rect.width, rect.height);
|
||||
this._sourceActor.set_position(rect.x, rect.y);
|
||||
@ -213,6 +217,7 @@ const WindowMenuManager = new Lang.Class({
|
||||
|
||||
this._sourceActor.hide();
|
||||
menu.destroy();
|
||||
window.disconnect(destroyId);
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user