From 99cf4e578714beefddd542573fa9658f6d3b9299 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sun, 13 Oct 2013 21:51:30 -0400 Subject: [PATCH] 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 file changed, 5 insertions(+), 4 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 65ab89be1..9dfb54cec 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(); },