projects
/
claws.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sync with sylpheed 0.6.3cvs7
[claws.git]
/
src
/
inc.c
diff --git
a/src/inc.c
b/src/inc.c
index c35c73bfa8a8b36383b09c43cdc146585573c36d..2acd948bd2c72984d26de5f94efff66122248746 100644
(file)
--- a/
src/inc.c
+++ b/
src/inc.c
@@
-681,6
+681,8
@@
static IncState inc_pop3_session_do(IncSession *session)
static gint pop3_automaton_terminate(SockInfo *source, Automaton *atm)
{
static gint pop3_automaton_terminate(SockInfo *source, Automaton *atm)
{
+ if (atm->terminated) return 0;
+
if (atm->tag > 0) {
gdk_input_remove(atm->tag);
atm->tag = 0;
if (atm->tag > 0) {
gdk_input_remove(atm->tag);
atm->tag = 0;
@@
-782,6
+784,7
@@
static gint connection_check_cb(Automaton *atm)
manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
}
pop3_automaton_terminate(sockinfo, atm);
manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
}
pop3_automaton_terminate(sockinfo, atm);
+ state->sockinfo = NULL;
return FALSE;
} else if (sockinfo->state == CONN_ESTABLISHED) {
atm->timeout_tag = 0;
return FALSE;
} else if (sockinfo->state == CONN_ESTABLISHED) {
atm->timeout_tag = 0;
@@
-972,6
+975,8
@@
static void inc_cancel(GtkWidget *widget, gpointer data)
IncSession *session = dialog->queue_list->data;
SockInfo *sockinfo = session->pop3_state->sockinfo;
IncSession *session = dialog->queue_list->data;
SockInfo *sockinfo = session->pop3_state->sockinfo;
+ if (!sockinfo || session->atm->terminated == TRUE) return;
+
#if USE_THREADS
if (sockinfo->state == CONN_READY ||
sockinfo->state == CONN_LOOKUPSUCCESS) {
#if USE_THREADS
if (sockinfo->state == CONN_READY ||
sockinfo->state == CONN_LOOKUPSUCCESS) {
@@
-983,6
+988,7
@@
static void inc_cancel(GtkWidget *widget, gpointer data)
session->pop3_state->inc_state = INC_CANCEL;
pop3_automaton_terminate(sockinfo, session->atm);
session->pop3_state->inc_state = INC_CANCEL;
pop3_automaton_terminate(sockinfo, session->atm);
+ session->pop3_state->sockinfo = NULL;
}
static gint inc_spool(void)
}
static gint inc_spool(void)