talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit a5e9df6aef0fa08ea33cde2aa86425592b6d5b45
parent c3961114430c14f2ed1c1afac25f99602bb13d7a
Author: Colin Leroy <colin@colino.net>
Date:   Tue, 21 Dec 2010 21:31:51 +0000

2010-12-21 [colin]	3.7.8cvs18

	* src/inc.c
	* src/send_message.c
	* src/common/session.c
	* src/common/session.h
		Differentiate between running sessions and connected
		sessions. Fixes bug #2332, "Crash when hitting cancel
		on the SMTP status window"

Diffstat:
MChangeLog | 10++++++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/common/session.c | 8+++++++-
Msrc/common/session.h | 1+
Msrc/inc.c | 2+-
Msrc/send_message.c | 2+-
7 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,13 @@ +2010-12-21 [colin] 3.7.8cvs18 + + * src/inc.c + * src/send_message.c + * src/common/session.c + * src/common/session.h + Differentiate between running sessions and connected + sessions. Fixes bug #2332, "Crash when hitting cancel + on the SMTP status window" + 2010-12-21 [colin] 3.7.8cvs17 * src/etpan/etpan-thread-manager.c diff --git a/PATCHSETS b/PATCHSETS @@ -4091,3 +4091,4 @@ ( cvs diff -u -r 1.27.2.48 -r 1.27.2.49 src/addr_compl.c; cvs diff -u -r -1.1.4.10 -r -1.1.4.11 src/addrcindex.c; cvs diff -u -r -1.1.4.6 -r -1.1.4.7 src/addrcindex.h; cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/gtk/gtkcmclist.c; cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/gtk/gtkcmctree.c; cvs diff -u -r 1.1.4.58 -r 1.1.4.59 src/gtk/gtksctree.c; ) > 3.7.8cvs15.patchset ( cvs diff -u -r 1.96.2.225 -r 1.96.2.226 src/textview.c; ) > 3.7.8cvs16.patchset ( cvs diff -u -r 1.1.4.13 -r 1.1.4.14 src/etpan/etpan-thread-manager.c; ) > 3.7.8cvs17.patchset +( cvs diff -u -r 1.149.2.101 -r 1.149.2.102 src/inc.c; cvs diff -u -r 1.17.2.57 -r 1.17.2.58 src/send_message.c; cvs diff -u -r 1.23.2.24 -r 1.23.2.25 src/common/session.c; cvs diff -u -r 1.8.2.16 -r 1.8.2.17 src/common/session.h; ) > 3.7.8cvs18.patchset diff --git a/configure.ac b/configure.ac @@ -12,7 +12,7 @@ MINOR_VERSION=7 MICRO_VERSION=8 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=17 +EXTRA_VERSION=18 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/common/session.c b/src/common/session.c @@ -227,13 +227,19 @@ void session_destroy(Session *session) g_free(session); } -gboolean session_is_connected(Session *session) +gboolean session_is_running(Session *session) { return (session->state == SESSION_READY || session->state == SESSION_SEND || session->state == SESSION_RECV); } +gboolean session_is_connected(Session *session) +{ + return (session->state == SESSION_SEND || + session->state == SESSION_RECV); +} + void session_set_access_time(Session *session) { session->last_access_time = time(NULL); diff --git a/src/common/session.h b/src/common/session.h @@ -167,6 +167,7 @@ gint session_connect (Session *session, gushort port); gint session_disconnect (Session *session); void session_destroy (Session *session); +gboolean session_is_running (Session *session); gboolean session_is_connected (Session *session); void session_set_access_time (Session *session); diff --git a/src/inc.c b/src/inc.c @@ -837,7 +837,7 @@ static IncState inc_pop3_session_do(IncSession *session) return INC_CONNECT_ERROR; } - while (session_is_connected(SESSION(pop3_session)) && + while (session_is_running(SESSION(pop3_session)) && session->inc_state != INC_CANCEL) gtk_main_iteration(); diff --git a/src/send_message.c b/src/send_message.c @@ -368,7 +368,7 @@ gint send_message_smtp_full(PrefsAccount *ac_prefs, GSList *to_list, FILE *fp, g smtp_from(smtp_session); } - while (session_is_connected(session) && dialog->cancelled == FALSE + while (session_is_running(session) && dialog->cancelled == FALSE && SMTP_SESSION(session)->state != SMTP_MAIL_SENT_OK) gtk_main_iteration();