From ca9d3b8180e49292724243090fd5394172fa24c9 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 16 Mar 2011 14:03:40 +0100 Subject: save the password before trying to connect the new account (#643690) --- libempathy/empathy-account-settings.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libempathy') diff --git a/libempathy/empathy-account-settings.c b/libempathy/empathy-account-settings.c index 41f663736..0db28d7a3 100644 --- a/libempathy/empathy-account-settings.c +++ b/libempathy/empathy-account-settings.c @@ -1438,6 +1438,9 @@ empathy_account_settings_account_updated (GObject *source, { if (priv->password != NULL) { + /* FIXME: we shouldn't save the password if we + * can't (MaySaveResponse=False) but we don't have API to check that + * at this point (fdo #35382). */ empathy_keyring_set_account_password_async (priv->account, priv->password, empathy_account_settings_set_password_cb, settings); } @@ -1485,6 +1488,19 @@ empathy_account_settings_created_cb (GObject *source, else { priv->account = g_object_ref (account); + + if (priv->supports_sasl && priv->password != NULL) + { + /* Save the password before connecting */ + /* FIXME: we shouldn't save the password if we + * can't (MaySaveResponse=False) but we don't have API to check that + * at this point (fdo #35382). */ + empathy_keyring_set_account_password_async (priv->account, + priv->password, empathy_account_settings_set_password_cb, + settings); + return; + } + empathy_account_settings_discard_changes (settings); } -- cgit v1.2.3