[gnome-shell] messageTray: Dispose Source on destruction



commit 4e1492c92692333fd107cf194bbeb24f09fe89f0
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date:   Tue May 14 04:03:51 2019 +0200

    messageTray: Dispose Source on destruction
    
    Dispose the Source Object when dispose() is called, avoiding that it could be
    called twice on a destroyed Source.
    
    So, notify count changes before destroying the object, and don't emit this
    twice on destroyNonResidentNotifications (as if a notification is destroyed
    the property notify will happen in the notification destroy callback anyways).
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/559

 js/ui/messageTray.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index fda7f5bec6..0d8e884c60 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -834,10 +834,10 @@ var Source = GObject.registerClass({
             return;
 
         this.notifications.splice(index, 1);
+        this.countUpdated();
+
         if (this.notifications.length == 0)
             this.destroy();
-
-        this.countUpdated();
     }
 
     pushNotification(notification) {
@@ -891,6 +891,8 @@ var Source = GObject.registerClass({
             notifications[i].destroy(reason);
 
         this.emit('destroy', reason);
+
+        this.run_dispose();
     }
 
     iconUpdated() {
@@ -905,8 +907,6 @@ var Source = GObject.registerClass({
         for (let i = this.notifications.length - 1; i >= 0; i--)
             if (!this.notifications[i].resident)
                 this.notifications[i].destroy();
-
-        this.countUpdated();
     }
 });
 


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