[empathy] accounts-dialog: only update the row which have actually been changed; may fix #636189



commit 404871f95d42c41f01af2fdff862a877e624675b
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Fri Feb 4 16:40:15 2011 +0100

    accounts-dialog: only update the row which have actually been changed; may fix #636189

 src/empathy-accounts-dialog.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 919ba3f..79c4369 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;
 }
 



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