[gnome-shell] Improve comment about button-release-event handler



commit 943c5e2edc3f56939b62c137ca3a180a781604d1
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Fri Aug 28 12:40:56 2009 -0400

    Improve comment about button-release-event handler
    
    Improve the documentation about the button-release-event handler
    we put on the status-menu button at Colin's suggestion.
    
    http://bugzilla.gnome.org/show_bug.cgi?id=593362

 js/ui/panel.js |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 5c9330e..4a75056 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -381,9 +381,14 @@ Panel.prototype = {
             statusmenu.toggle(e);
             return false;
         });
-        // This depends on connection ordering: since we are after the Button's
-        // ::button-release-event handler, calling button.release() will properly
-        // unset the 'active' flag for this stays-pressed button
+        // If popping up the menu failed (because there was already a grab in
+        // effect from Mutter or another app), then we'll never get a ::deactivated
+        // signal because the menu was never activated, so we need to unhighlight
+        // separately when the user releases the mouse button.
+        //
+        // We depend on connection ordering; this needs to be called after Button's
+        // ::button-release-event handler; that will set the active flag for this
+        // stays-pressed button, then we unset the active flag by calling release().
         statusbutton.button.connect('button-release-event', function (b, e) {
             if (!statusmenu.is_active())
                 statusbutton.release();



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