[evolution-data-server/wip/mcrha/soup3] ESoupSession: Update also SoupSession state on credentials change



commit 8a73779363ee92bcb289d054b61c4feb22c0a6e5
Author: Milan Crha <mcrha redhat com>
Date:   Tue May 24 15:24:45 2022 +0200

    ESoupSession: Update also SoupSession state on credentials change

 src/libedataserver/e-soup-session.c | 8 ++++++++
 1 file changed, 8 insertions(+)
---
diff --git a/src/libedataserver/e-soup-session.c b/src/libedataserver/e-soup-session.c
index c770d7d54..f473ea86e 100644
--- a/src/libedataserver/e-soup-session.c
+++ b/src/libedataserver/e-soup-session.c
@@ -688,6 +688,8 @@ void
 e_soup_session_set_credentials (ESoupSession *session,
                                const ENamedParameters *credentials)
 {
+       SoupSessionFeature *feature;
+
        g_return_if_fail (E_IS_SOUP_SESSION (session));
 
        g_mutex_lock (&session->priv->property_lock);
@@ -706,6 +708,12 @@ e_soup_session_set_credentials (ESoupSession *session,
        g_mutex_unlock (&session->priv->property_lock);
 
        g_object_notify (G_OBJECT (session), "credentials");
+
+       /* Update also internal SoupSession state */
+       g_rec_mutex_lock (&session->priv->session_lock);
+       feature = soup_session_get_feature (SOUP_SESSION (session), SOUP_TYPE_AUTH_MANAGER);
+       soup_auth_manager_clear_cached_credentials (SOUP_AUTH_MANAGER (feature));
+       g_rec_mutex_unlock (&session->priv->session_lock);
 }
 
 /**


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