[gnome-shell/gnome-3-4] popupMenu: bypass changeSignal callback if action is already handled



commit 66fa24c340682e0579392a1fcda841d3498f6ac8
Author: Alban Browaeys <prahal yahoo com>
Date:   Sun May 20 23:37:22 2012 +0200

    popupMenu: bypass changeSignal callback if action is already handled
    
    https://bugzilla.gnome.org/show_bug.cgi?id=676447

 js/ui/popupMenu.js |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index ace32e0..ad1c71a 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1958,8 +1958,9 @@ const RemoteMenu = new Lang.Class({
                     k++;
                 }
             } else if (changeSignal) {
-                let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function() {
-                    this.actionGroup.disconnect(signalId);
+                let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function(actionGroup, actionName) {
+                    actionGroup.disconnect(signalId);
+                    if (this._actions[actionName]) return;
 
                     // force a full update
                     this._modelChanged(model, 0, -1, model.get_n_items(), target);



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