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



commit ca9d3b8180e49292724243090fd5394172fa24c9
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 41f6637..0db28d7 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);
     }
 



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