[telepathy-mission-control/master] McdAccount: set_parameters_finish: defer _mcd_account_maybe_autoconnect til we know whether we're valid now
Simon McVittie
simon.mcvittie at collabora.co.uk
Mon Sep 14 09:08:24 PDT 2009
Otherwise, account-manager/make-valid.py fails, as we set the password,
but don't make the resulting invalid -> valid transition until after we've
already decided that we can't connect.
---
src/mcd-account.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/mcd-account.c b/src/mcd-account.c
index b7723be..2c0cbfb 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -2175,6 +2175,16 @@ set_parameters_data_free (SetParametersData *data)
}
static void
+set_parameters_maybe_autoconnect_cb (McdAccount *account,
+ gboolean valid,
+ gpointer user_data G_GNUC_UNUSED)
+{
+ /* Strictly speaking this doesn't need to be called unless valid is TRUE,
+ * but calling it in all cases gives us clearer debug output */
+ _mcd_account_maybe_autoconnect (account);
+}
+
+static void
set_parameters_finish (SetParametersData *data)
{
McdAccountPrivate *priv = data->account->priv;
@@ -2195,8 +2205,8 @@ set_parameters_finish (SetParametersData *data)
}
}
- mcd_account_check_validity (data->account, NULL, NULL);
- _mcd_account_maybe_autoconnect (data->account);
+ mcd_account_check_validity (data->account,
+ set_parameters_maybe_autoconnect_cb, NULL);
if (data->callback != NULL)
{
--
1.5.6.5
More information about the telepathy-commits
mailing list