[gnome-shell] windowMenu: Close when corresponding window goes away



commit 60d1f7797cb836d9aaef1aa0301bbd4b0171991e
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu May 21 18:14:51 2015 +0200

    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

 js/ui/windowMenu.js |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js
index a314821..1f26eb4 100644
--- a/js/ui/windowMenu.js
+++ b/js/ui/windowMenu.js
@@ -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);
         }));
     }
 });


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]