[gnome-shell/gnome-3-8] userWidget: Fix leaking instances



commit dc7cc9b517703dcce61314bc47702bb4278dae97
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue May 21 21:33:04 2013 +0200

    userWidget: Fix leaking instances
    
    UserWidget instances should be destroyed when the actor is. That's
    what consumer code expects since the destroy() method is never called.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700807

 js/ui/userWidget.js |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/userWidget.js b/js/ui/userWidget.js
index 06de0fc..433b0bf 100644
--- a/js/ui/userWidget.js
+++ b/js/ui/userWidget.js
@@ -16,6 +16,7 @@ const UserWidget = new Lang.Class({
 
         this.actor = new St.BoxLayout({ style_class: 'user-widget',
                                         vertical: false });
+        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 
         this._avatar = new UserMenu.UserAvatarWidget(user);
         this.actor.add(this._avatar.actor,
@@ -36,7 +37,7 @@ const UserWidget = new Lang.Class({
             this._updateUser();
     },
 
-    destroy: function() {
+    _onDestroy: function() {
         if (this._userLoadedId != 0) {
             this._user.disconnect(this._userLoadedId);
             this._userLoadedId = 0;
@@ -46,8 +47,6 @@ const UserWidget = new Lang.Class({
             this._user.disconnect(this._userChangedId);
             this._userChangedId = 0;
         }
-
-        this.actor.destroy();
     },
 
     _updateUser: function() {


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