aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Williams <peterw@src.gnome.org>2000-08-16 00:40:01 +0800
committerPeter Williams <peterw@src.gnome.org>2000-08-16 00:40:01 +0800
commit52af76d0932bfc2b1acd622a681328c01c946382 (patch)
treede9fdebee125527051e2a4b6a1da94aadc1252ce
parent89909db45a1617241aca02b1a4cb34b36b73e3f7 (diff)
downloadgsoc2013-evolution-52af76d0932bfc2b1acd622a681328c01c946382.tar.gz
gsoc2013-evolution-52af76d0932bfc2b1acd622a681328c01c946382.tar.zst
gsoc2013-evolution-52af76d0932bfc2b1acd622a681328c01c946382.zip
Don't deadlock on PGP key request
svn path=/trunk/; revision=4841
-rw-r--r--mail/ChangeLog3
-rw-r--r--mail/session.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 587f9305c8..35d84a2406 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,6 @@
+2000-08-15 Peter Williams <peterw@helixcode.com>
+
+ * session.c (mail_request_dialog): Don't deadlock when in main thread.
2000-08-14 Peter Williams <peterw@helixcode.com>
* mail-threads.c (show_error): Fix the error dialogs.
diff --git a/mail/session.c b/mail/session.c
index 9f9072e93f..161536022e 100644
--- a/mail/session.c
+++ b/mail/session.c
@@ -45,9 +45,14 @@ mail_request_dialog (const char *prompt, gboolean secret, const char *key,
request_callback, &ans, NULL);
if (!dialog)
return NULL;
+ GDK_THREADS_ENTER ();
if (gnome_dialog_run_and_close (GNOME_DIALOG (dialog)) == -1 ||
- ans == NULL)
+ ans == NULL) {
+ GDK_THREADS_LEAVE ();
return NULL;
+ }
+
+ GDK_THREADS_LEAVE ();
} else {
if (!mail_op_get_password ((char *) prompt, secret, &ans))
return NULL;