aboutsummaryrefslogtreecommitdiffstats
path: root/mail/session.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-12-12 07:29:55 +0800
committerDan Winship <danw@src.gnome.org>2000-12-12 07:29:55 +0800
commit8997c57f5c1451e366a374a6e0bb74aa2f37e832 (patch)
tree76c388dfa1977ad9f7bb0d6217774e0485a228e9 /mail/session.c
parent045479b2a4f78e688036dc4fdab64226743a7d3f (diff)
downloadgsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar
gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar.gz
gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar.bz2
gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar.lz
gsoc2013-evolution-8997c57f5c1451e366a374a6e0bb74aa2f37e832.tar.xz
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.c13
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)
{