[Telepathy-commits] [telepathy-mission-control/master] Immediately add accounts to the GHashTable

Alberto Mardegan alberto.mardegan at nokia.com
Mon Feb 16 02:30:10 PST 2009


The McdAccount was leaked if not added.
---
 src/mcd-account-manager.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mcd-account-manager.c b/src/mcd-account-manager.c
index 887c96f..a35117b 100644
--- a/src/mcd-account-manager.c
+++ b/src/mcd-account-manager.c
@@ -498,9 +498,11 @@ account_loaded (McdAccount *account, const GError *error, gpointer user_data)
     McdLoadAccountsData *lad = user_data;
 
     if (error)
+    {
         g_warning ("%s: got error: %s", G_STRFUNC, error->message);
-    else
-        add_account (lad->account_manager, account);
+        g_hash_table_remove (lad->account_manager->priv->accounts,
+                             mcd_account_get_unique_name (account));
+    }
 
     release_load_accounts_lock (lad);
 }
@@ -537,6 +539,7 @@ _mcd_account_manager_setup (McdAccountManager *account_manager)
             continue;
         }
         lad->account_lock++;
+        add_account (lad->account_manager, account);
         _mcd_account_load (account, account_loaded, lad);
     }
     g_strfreev (accounts);
-- 
1.5.6.5




More information about the telepathy-commits mailing list