[polari/wip/fmuellner/invalid-object-access: 3/8] chatView: Reuse existing destroy handler



commit bb7aec843d442fc082fd48c160c441f51bce90e5
Author: Florian Müllner <fmuellner gnome org>
Date:   Wed Dec 6 10:38:07 2017 +0100

    chatView: Reuse existing destroy handler
    
    Splitting clean up code between various ::destroy handlers is just
    confusing ...

 src/chatView.js | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/src/chatView.js b/src/chatView.js
index 35b19a0..fd4e6ba 100644
--- a/src/chatView.js
+++ b/src/chatView.js
@@ -398,11 +398,6 @@ var ChatView = GObject.registerClass({
         this._nickStatusChangedId = this._userTracker.watchRoomStatus(this._room,
                                     null,
                                     this._onNickStatusChanged.bind(this));
-
-        this.connect('destroy', () => {
-            this._userTracker.unwatchRoomStatus(this._room, this._nickStatusChangedId);
-            this._userTracker = null;
-        });
     }
 
     _createTags() {
@@ -519,6 +514,12 @@ var ChatView = GObject.registerClass({
             Mainloop.source_remove(this._backlogTimeoutId);
         this._backlogTimeoutId = 0;
 
+        if (this._nickStatusChangedId)
+            this._userTracker.unwatchRoomStatus(this._room,
+                                                this._nickStatusChangedId);
+        this._nickStatusChangedId = 0;
+        this._userTracker = null;
+
         this._logWalker.run_dispose();
         this._logWalker = null;
     }


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