[gnome-shell] messageTray: Only connect to a notification's open/destroy once



commit 99cf4e578714beefddd542573fa9658f6d3b9299
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sun Oct 13 21:51:30 2013 -0400

    messageTray: Only connect to a notification's open/destroy once
    
    If we pushNotification the same notification multiple times, we
    won't append it to the array again, but we will attach multiple
    handlers needlessly.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710115

 js/ui/messageTray.js |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 65ab89b..9dfb54c 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1407,10 +1407,8 @@ const Source = new Lang.Class({
     },
 
     pushNotification: function(notification) {
-        if (this.notifications.indexOf(notification) < 0) {
-            this.notifications.push(notification);
-            this.emit('notification-added', notification);
-        }
+        if (this.notifications.indexOf(notification) >= 0)
+            return;
 
         notification.connect('clicked', Lang.bind(this, this.open));
         notification.connect('destroy', Lang.bind(this,
@@ -1426,6 +1424,9 @@ const Source = new Lang.Class({
                 this.countUpdated();
             }));
 
+        this.notifications.push(notification);
+        this.emit('notification-added', notification);
+
         this.countUpdated();
     },
 


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