[empathy/gnome-2-34] save the password before trying to connect the new account (#643690)



commit 8e687238e7689097a541e387b18abd611b179faf
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Wed Mar 16 14:03:40 2011 +0100

    save the password before trying to connect the new account (#643690)

 libempathy/empathy-account-settings.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/libempathy/empathy-account-settings.c b/libempathy/empathy-account-settings.c
index 052a073..2a9afab 100644
--- a/libempathy/empathy-account-settings.c
+++ b/libempathy/empathy-account-settings.c
@@ -1379,6 +1379,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_password_async (priv->account, priv->password,
               empathy_account_settings_set_password_cb, settings);
         }
@@ -1426,6 +1429,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_password_async (priv->account,
+              priv->password, empathy_account_settings_set_password_cb,
+              settings);
+          return;
+        }
+
       empathy_account_settings_discard_changes (settings);
     }
 



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