[empathy] Don't override empathy_account_chooser_set_account when setting filtering



commit fa028af2e446e6246b43c887f42099d60ad6c219
Author: Davyd Madeley <davyd madeley id au>
Date:   Wed Feb 25 13:47:15 2009 +0900

    Don't override empathy_account_chooser_set_account when setting filtering

 libempathy-gtk/empathy-account-chooser.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/libempathy-gtk/empathy-account-chooser.c b/libempathy-gtk/empathy-account-chooser.c
index 7dccb21..34ebc7e 100644
--- a/libempathy-gtk/empathy-account-chooser.c
+++ b/libempathy-gtk/empathy-account-chooser.c
@@ -58,6 +58,7 @@
 typedef struct {
 	EmpathyAccountManager          *manager;
 	gboolean                        set_active_item;
+	gboolean			account_manually_set;
 	gboolean                        has_all_option;
 	EmpathyAccountChooserFilterFunc filter;
 	gpointer                        filter_data;
@@ -153,6 +154,7 @@ empathy_account_chooser_init (EmpathyAccountChooser *chooser)
 
 	chooser->priv = priv;
 	priv->set_active_item = FALSE;
+	priv->account_manually_set = FALSE;
 	priv->filter = NULL;
 	priv->filter_data = NULL;
 
@@ -322,6 +324,7 @@ gboolean
 empathy_account_chooser_set_account (EmpathyAccountChooser *chooser,
 				     EmpathyAccount *account)
 {
+	EmpathyAccountChooserPriv *priv;
 	GtkComboBox    *combobox;
 	GtkTreeModel   *model;
 	GtkTreeIter     iter;
@@ -329,6 +332,8 @@ empathy_account_chooser_set_account (EmpathyAccountChooser *chooser,
 
 	g_return_val_if_fail (EMPATHY_IS_ACCOUNT_CHOOSER (chooser), FALSE);
 
+	priv = GET_PRIV (chooser);
+
 	combobox = GTK_COMBO_BOX (chooser);
 	model = gtk_combo_box_get_model (combobox);
 	gtk_combo_box_get_active_iter (combobox, &iter);
@@ -340,6 +345,8 @@ empathy_account_chooser_set_account (EmpathyAccountChooser *chooser,
 				(GtkTreeModelForeachFunc) account_chooser_set_account_foreach,
 				&data);
 
+	priv->account_manually_set = data.set;
+
 	return data.set;
 }
 
@@ -622,7 +629,8 @@ account_chooser_update_iter (EmpathyAccountChooser *chooser,
 			    -1);
 
 	/* set first connected account as active account */
-	if (priv->set_active_item == FALSE && is_enabled) {
+	if (priv->account_manually_set == FALSE &&
+	    priv->set_active_item == FALSE && is_enabled) {
 		priv->set_active_item = TRUE;
 		gtk_combo_box_set_active_iter (combobox, iter);
 	}



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