2007-09-30 [colin] 3.0.1cvs48

* src/imap.c
		Reset folder's session to NULL
		before destroying it
This commit is contained in:
Colin Leroy 2007-09-30 09:01:58 +00:00
parent e49ff3ff66
commit 187459c8a7
4 changed files with 11 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2007-09-30 [colin] 3.0.1cvs48
* src/imap.c
Reset folder's session to NULL
before destroying it
2007-09-30 [mones] 3.0.1cvs47
* manual/handling.xml

View file

@ -2911,3 +2911,4 @@
( cvs diff -u -r 1.60.2.97 -r 1.60.2.98 src/addressbook.c; cvs diff -u -r 1.28.2.30 -r 1.28.2.31 src/addrindex.c; ) > 3.0.1cvs45.patchset
( cvs diff -u -r 1.179.2.188 -r 1.179.2.189 src/imap.c; ) > 3.0.1cvs46.patchset
( cvs diff -u -r 1.1.2.15 -r 1.1.2.16 manual/handling.xml; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 manual/es/handling.xml; ) > 3.0.1cvs47.patchset
( cvs diff -u -r 1.179.2.189 -r 1.179.2.190 src/imap.c; ) > 3.0.1cvs48.patchset

View file

@ -11,7 +11,7 @@ MINOR_VERSION=0
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_VERSION=47
EXTRA_VERSION=48
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=

View file

@ -677,6 +677,7 @@ static IMAPSession *imap_reconnect_if_possible(Folder *folder, IMAPSession *sess
session_destroy(SESSION(session));
session = NULL;
} else {
rfolder->session = NULL;
log_warning(LOG_PROTOCOL, _("IMAP4 connection to %s has been"
" disconnected. Reconnecting...\n"),
folder->account->recv_server);
@ -689,7 +690,6 @@ static IMAPSession *imap_reconnect_if_possible(Folder *folder, IMAPSession *sess
a new session, because of rfolder->session == NULL
it will not try to reconnect again and so avoid an
endless loop */
rfolder->session = NULL;
debug_print("getting session...\n");
session = imap_session_get(folder);
rfolder->session = SESSION(session);
@ -745,11 +745,10 @@ static void imap_disc_session_destroy(Folder *folder)
session = IMAP_SESSION(rfolder->session);
if (!session)
return;
rfolder->session = NULL;
log_warning(LOG_PROTOCOL, _("IMAP4 connection broken\n"));
SESSION(session)->state = SESSION_DISCONNECTED;
session_destroy(SESSION(session));
rfolder->session = NULL;
}
static IMAPSession *imap_session_get(Folder *folder)
@ -793,9 +792,9 @@ static IMAPSession *imap_session_get(Folder *folder)
if (!IMAP_SESSION(session)->authenticated) {
imap_threaded_disconnect(session->folder);
rfolder->session = NULL;
SESSION(session)->state = SESSION_DISCONNECTED;
session_destroy(SESSION(session));
rfolder->session = NULL;
rfolder->last_failure = time(NULL);
rfolder->connecting = FALSE;
return NULL;