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



commit cc9d53e038097e8f3de31d7f9646a768f1692bc4
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 35843d9..368442d 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1961,8 +1961,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]