aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-accounts-dialog.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-04 23:40:15 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-16 19:48:42 +0800
commit404871f95d42c41f01af2fdff862a877e624675b (patch)
treed796c0f78a396769cb5b177c91de7dc7838ec0f2 /src/empathy-accounts-dialog.c
parent6ea60bb165253f1355d9fbfa1a5a010fb79c2c06 (diff)
downloadgsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.tar
gsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.tar.gz
gsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.tar.bz2
gsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.tar.lz
gsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.tar.xz
gsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.tar.zst
gsoc2013-empathy-404871f95d42c41f01af2fdff862a877e624675b.zip
accounts-dialog: only update the row which have actually been changed; may fix #636189
Diffstat (limited to 'src/empathy-accounts-dialog.c')
-rw-r--r--src/empathy-accounts-dialog.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 919ba3f03..79c4369de 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -987,8 +987,22 @@ accounts_dialog_row_changed_foreach (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer user_data)
{
- gtk_tree_model_row_changed (model, path, iter);
+ TpAccount *account;
+
+ gtk_tree_model_get (model, iter, COL_ACCOUNT, &account, -1);
+
+ if (account == NULL)
+ return FALSE;
+ if (tp_account_get_connection_status (account, NULL) ==
+ TP_CONNECTION_STATUS_CONNECTING)
+ {
+ /* Only update the row where we have a connecting account as that's the
+ * ones having a blinking icon. */
+ gtk_tree_model_row_changed (model, path, iter);
+ }
+
+ g_object_unref (account);
return FALSE;
}