+2010-10-26 [ticho] 3.7.6cvs59
+
+ * src/news.c
+ Recreate NNTP session if server port setting has changed. Fixes
+ bug #2092.
+
2010-10-26 [colin] 3.7.6cvs58
* src/imap_gtk.c
( cvs diff -u -r 1.3.2.65 -r 1.3.2.66 src/prefs_themes.c; cvs diff -u -r 1.9.2.68 -r 1.9.2.69 src/gtk/gtkaspell.c; cvs diff -u -r 1.5.2.91 -r 1.5.2.92 src/gtk/gtkutils.c; cvs diff -u -r 1.4.2.50 -r 1.4.2.51 src/gtk/gtkutils.h; cvs diff -u -r 1.2.2.38 -r 1.2.2.39 src/gtk/inputdialog.c; cvs diff -u -r 1.1.4.25 -r 1.1.4.26 src/gtk/progressdialog.c; ) > 3.7.6cvs56.patchset
( cvs diff -u -r 1.12.2.60 -r 1.12.2.61 src/action.c; cvs diff -u -r 1.6.10.22 -r 1.6.10.23 src/addrharvest.c; cvs diff -u -r 1.17.2.41 -r 1.17.2.42 src/alertpanel.c; cvs diff -u -r 1.60.2.54 -r 1.60.2.55 src/filtering.c; cvs diff -u -r 1.18.2.30 -r 1.18.2.31 src/jpilot.c; cvs diff -u -r 1.3.2.66 -r 1.3.2.67 src/prefs_themes.c; cvs diff -u -r 1.49.2.133 -r 1.49.2.134 src/procmime.c; cvs diff -u -r 1.96.2.224 -r 1.96.2.225 src/textview.c; cvs diff -u -r 1.5.2.92 -r 1.5.2.93 src/gtk/gtkutils.c; cvs diff -u -r 1.1.2.97 -r 1.1.2.98 src/gtk/quicksearch.c; cvs diff -u -r 1.1.2.20 -r 1.1.2.21 src/gtk/quicksearch.h; cvs diff -u -r 1.1.2.32 -r 1.1.2.33 src/plugins/pgpcore/passphrase.c; cvs diff -u -r 1.4.2.7 -r 1.4.2.8 src/plugins/spamassassin/libspamc.c; ) > 3.7.6cvs57.patchset
( cvs diff -u -r 1.1.2.64 -r 1.1.2.65 src/imap_gtk.c; cvs diff -u -r 1.2.2.37 -r 1.2.2.38 src/mh_gtk.c; ) > 3.7.6cvs58.patchset
+( cvs diff -u -r 1.101.2.61 -r 1.101.2.62 src/news.c; ) > 3.7.6cvs59.patchset
session_init(SESSION(session), folder->account, FALSE);
SESSION(session)->type = SESSION_NEWS;
SESSION(session)->server = g_strdup(server);
+ SESSION(session)->port = port;
SESSION(session)->sock = NULL;
SESSION(session)->destroy = news_session_destroy;
return NEWS_SESSION(rfolder->session);
}
+ /* Handle port change (also ssl/nossl change) without needing to
+ * restart application. */
+ if (rfolder->session->port != folder->account->nntpport) {
+ session_destroy(rfolder->session);
+ rfolder->session = news_session_new_for_folder(folder);
+ goto newsession;
+ }
+
if (time(NULL) - rfolder->session->last_access_time <
SESSION_TIMEOUT_INTERVAL) {
return NEWS_SESSION(rfolder->session);
rfolder->session = news_session_new_for_folder(folder);
}
}
-
+
+newsession:
if (rfolder->session)
session_set_access_time(rfolder->session);