]> git.0d.be Git - empathy.git/commitdiff
Use the new API when getting the account iter.
authorCosimo Cecchi <cosimo.cecchi@collabora.co.uk>
Sat, 25 Jul 2009 14:45:01 +0000 (16:45 +0200)
committerCosimo Cecchi <cosimoc@gnome.org>
Wed, 29 Jul 2009 22:13:20 +0000 (00:13 +0200)
src/empathy-accounts-dialog.c

index a9a5e7f63b0309e78e9e32cd743674755ff103c9..f358be8b40cbb716ceb0e7131cf5c059e525168d 100644 (file)
@@ -613,15 +613,16 @@ accounts_dialog_get_account_iter (EmpathyAccountsDialog *dialog,
        for (ok = gtk_tree_model_get_iter_first (model, iter);
             ok;
             ok = gtk_tree_model_iter_next (model, iter)) {
-               EmpathyAccount *this_account;
+               EmpathyAccountSettings *settings;
                gboolean   equal;
 
                gtk_tree_model_get (model, iter,
-                                   COL_ACCOUNT_POINTER, &this_account,
+                                   COL_ACCOUNT_SETTINGS_POINTER, &settings,
                                    -1);
 
-               equal = (this_account == account);
-               g_object_unref (this_account);
+               equal = empathy_account_settings_owns_account
+                            (settings, account);
+               g_object_unref (settings);
 
                if (equal) {
                        return TRUE;
@@ -777,7 +778,9 @@ accounts_dialog_add_account (EmpathyAccountsDialog *dialog,
        name = empathy_account_get_display_name (account);
        enabled = empathy_account_is_enabled (account);
 
-       gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+       if (!accounts_dialog_get_account_iter (dialog, account, &iter)) {
+               gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+       }
 
        settings = empathy_account_settings_new_for_account (account);