[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