aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-02-24 04:08:44 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-02-24 04:08:44 +0000
commit9362d795bd36d712b881852767f3c486c6588c45 (patch)
treec23368f7e37047ce9e66685858cf510e8c7ae2f2
parentb47795c25fec5140ae2ecf297c7a129d70c62e75 (diff)
fixed freeze bug on STARTTLS.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2506 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog5
-rw-r--r--src/sslmanager.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7f3dcc77..e2847adf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-24
+
+ * src/sslmanager.c: fixed freeze when sending/receiving messages with
+ STARTTLS and 'SSL certificate verify failed' dialog popped up.
+
2010-02-19
* version 3.0.0rc
diff --git a/src/sslmanager.c b/src/sslmanager.c
index 66beafbe..e184c699 100644
--- a/src/sslmanager.c
+++ b/src/sslmanager.c
@@ -1,6 +1,6 @@
/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2010 Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -64,6 +64,8 @@ gint ssl_manager_verify_cert(SockInfo *sockinfo, const gchar *hostname,
if (verify_result == X509_V_OK)
return 0;
+ gdk_threads_enter();
+
title = _("SSL certificate verify failed");
subject = X509_NAME_oneline(X509_get_subject_name(server_cert),
@@ -201,6 +203,8 @@ gint ssl_manager_verify_cert(SockInfo *sockinfo, const gchar *hostname,
result = gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
+ gdk_threads_leave();
+
switch (result) {
case GTK_RESPONSE_ACCEPT:
return 0;