aboutsummaryrefslogtreecommitdiffstats
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:49:39 +0800
commitf8f7ac21055e4f5f6ebe90c0e9c0605739cefe73 (patch)
tree9c4fd2d85fac8c953534918b6cf337de2b499c8f
parent4363d4c0d778b924b12f294636ca108a15d93aec (diff)
downloadgsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.tar
gsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.tar.gz
gsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.tar.bz2
gsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.tar.lz
gsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.tar.xz
gsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.tar.zst
gsoc2013-empathy-f8f7ac21055e4f5f6ebe90c0e9c0605739cefe73.zip
accounts-dialog: only update the row which have actually been changed; may fix #636189
-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 ed2dc5c64..d62d34e91 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -1038,8 +1038,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;
}