diff options
author | Dan Winship <danw@src.gnome.org> | 2000-12-12 07:29:55 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-12-12 07:29:55 +0800 |
commit | 8997c57f5c1451e366a374a6e0bb74aa2f37e832 (patch) | |
tree | 76c388dfa1977ad9f7bb0d6217774e0485a228e9 /mail/session.c | |
parent | 045479b2a4f78e688036dc4fdab64226743a7d3f (diff) | |
download | gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar.gz gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar.zst gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.zip |
New function to tell the code that it's ok (or not) to interact with the
* session.c (mail_session_enable_interaction): New function to
tell the code that it's ok (or not) to interact with the user when
trying to authenticate to a service. Starts out turned off.
(mail_session_request_dialog): If interaction is disabled, fail if
the password isn't in the cache.
* component-factory.c (owner_set_cb): Call
mail_session_enable_interaction() after everything else. (This
means that the IMAP password dialog will no longer pop up [under
the splash screen] at startup.)
svn path=/trunk/; revision=6924
Diffstat (limited to 'mail/session.c')
-rw-r--r-- | mail/session.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mail/session.c b/mail/session.c index aa98c20908..185b72f9e8 100644 --- a/mail/session.c +++ b/mail/session.c @@ -13,7 +13,9 @@ #include "mail-threads.h" CamelSession *session; -GHashTable *passwords; + +static GHashTable *passwords; +static gboolean interaction_enabled; static void request_callback (gchar *string, gpointer data) @@ -41,6 +43,9 @@ mail_session_request_dialog (const char *prompt, gboolean secret, const char *ke if (ans) return g_strdup (ans); + if (!interaction_enabled) + return NULL; + if (!async) { dialog = gnome_request_dialog (secret, prompt, NULL, 0, request_callback, &ans, NULL); @@ -260,6 +265,12 @@ mail_session_init (void) } } +void +mail_session_enable_interaction (gboolean enable) +{ + interaction_enabled = enable; +} + static gboolean free_entry (gpointer key, gpointer value, gpointer user_data) { |