[empathy] accounts-dialog: wait that account is prepared before calling accounts_dialog_add_account
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] accounts-dialog: wait that account is prepared before calling accounts_dialog_add_account
- Date: Fri, 13 Nov 2009 15:46:23 +0000 (UTC)
commit ef9f82c085a018e3959800ad010f47da62d9b364
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Fri Nov 13 14:31:34 2009 +0000
accounts-dialog: wait that account is prepared before calling accounts_dialog_add_account
This ensure that EmpathyAccountSettings has been updated and so we don't
add a new row in the model for this account (#601796).
src/empathy-accounts-dialog.c | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index e4e963c..daae3d8 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -1237,12 +1237,31 @@ accounts_dialog_add_account (EmpathyAccountsDialog *dialog,
}
static void
+account_prepare_cb (GObject *source_object,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ EmpathyAccountsDialog *dialog = EMPATHY_ACCOUNTS_DIALOG (user_data);
+ TpAccount *account = TP_ACCOUNT (source_object);
+ GError *error = NULL;
+
+ if (!tp_account_prepare_finish (account, result, &error))
+ {
+ DEBUG ("Failed to prepare account: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ accounts_dialog_add_account (dialog, account);
+}
+
+static void
accounts_dialog_account_validity_changed_cb (TpAccountManager *manager,
TpAccount *account,
gboolean valid,
EmpathyAccountsDialog *dialog)
{
- accounts_dialog_add_account (dialog, account);
+ tp_account_prepare_async (account, NULL, account_prepare_cb, dialog);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]