From b0c27bffcd431cbd5798777db5138b9b8e9eb5fe Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Thu, 16 Jun 2005 19:59:41 +0000 Subject: [PATCH] 2005-06-16 [colin] 1.9.11cvs78 * src/imap_gtk.c Lock summaryview while downloading messages on user demand * src/procheader.c * src/unmime.c * src/common/utils.c * src/common/utils.h Replace \r and \n with spaces in From and Subject headers --- ChangeLog-gtk2.claws | 12 ++++++++++++ PATCHSETS | 1 + configure.ac | 2 +- src/common/utils.c | 12 ++++++++++++ src/common/utils.h | 2 +- src/imap_gtk.c | 3 +++ src/procheader.c | 3 +++ src/unmime.c | 2 +- 8 files changed, 34 insertions(+), 3 deletions(-) diff --git a/ChangeLog-gtk2.claws b/ChangeLog-gtk2.claws index 99b3a310c..732b17a1b 100644 --- a/ChangeLog-gtk2.claws +++ b/ChangeLog-gtk2.claws @@ -1,3 +1,15 @@ +2005-06-16 [colin] 1.9.11cvs78 + + * src/imap_gtk.c + Lock summaryview while downloading messages + on user demand + * src/procheader.c + * src/unmime.c + * src/common/utils.c + * src/common/utils.h + Replace \r and \n with spaces in From and + Subject headers + 2005-06-16 [paul] 1.9.11cvs77 * src/procmime.c diff --git a/PATCHSETS b/PATCHSETS index 6678a3f6c..d48cf12e9 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -566,3 +566,4 @@ ( cvs diff -u -r 1.382.2.131 -r 1.382.2.132 src/compose.c; cvs diff -u -r 1.395.2.81 -r 1.395.2.82 src/summaryview.c; cvs diff -u -r 1.8.2.6 -r 1.8.2.7 src/headerview.c; ) > 1.9.11cvs75.patchset ( cvs diff -u -r 1.4.2.10 -r 1.4.2.11 src/gtk/about.c; ) > 1.9.11cvs76.patchset ( cvs diff -u -r 1.49.2.47 -r 1.49.2.48 src/procmime.c; cvs diff -u -r 1.4.2.11 -r 1.4.2.12 src/gtk/about.c; ) > 1.9.11cvs77.patchset +( cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/imap_gtk.c; cvs diff -u -r 1.47.2.20 -r 1.47.2.21 src/procheader.c; cvs diff -u -r 1.8.2.4 -r 1.8.2.5 src/unmime.c; cvs diff -u -r 1.36.2.32 -r 1.36.2.33 src/common/utils.c; cvs diff -u -r 1.20.2.15 -r 1.20.2.16 src/common/utils.h; ) > 1.9.11cvs78.patchset diff --git a/configure.ac b/configure.ac index b7892d206..45dd97020 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=11 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=77 +EXTRA_VERSION=78 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/common/utils.c b/src/common/utils.c index fc1c17177..8303d5fbb 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -3931,3 +3931,15 @@ void g_auto_pointer_free(GAuto *auto_ptr) g_free(ptr); } +void replace_returns(gchar *str) +{ + if (!str) + return; + + while (strstr(str, "\n")) { + *strstr(str, "\n") = ' '; + } + while (strstr(str, "\r")) { + *strstr(str, "\r") = ' '; + } +} diff --git a/src/common/utils.h b/src/common/utils.h index b585cba91..c14ee7cc4 100644 --- a/src/common/utils.h +++ b/src/common/utils.h @@ -492,7 +492,7 @@ GAuto *g_auto_pointer_new_with_free (gpointer p, gpointer g_auto_pointer_get_ptr (GAuto *auto_ptr); GAuto *g_auto_pointer_copy (GAuto *auto_ptr); void g_auto_pointer_free (GAuto *auto_ptr); - +void replace_returns (gchar *str); #ifdef __cplusplus } #endif diff --git a/src/imap_gtk.c b/src/imap_gtk.c index 73cf18385..02aa4f1c9 100644 --- a/src/imap_gtk.c +++ b/src/imap_gtk.c @@ -40,6 +40,7 @@ #include "imap.h" #include "inc.h" #include "prefs_common.h" +#include "summaryview.h" static void new_folder_cb(FolderView *folderview, guint action, GtkWidget *widget); static void rename_folder_cb(FolderView *folderview, guint action, GtkWidget *widget); @@ -379,6 +380,7 @@ static void download_cb(FolderView *folderview, guint action, main_window_lock(mainwin); gtk_widget_set_sensitive(folderview->ctree, FALSE); main_window_progress_on(mainwin); + summaryview_lock(folderview->summaryview, item); GTK_EVENTS_FLUSH(); if (folder_item_fetch_all_msg(item) < 0) { gchar *name; @@ -389,6 +391,7 @@ static void download_cb(FolderView *folderview, guint action, } folder_set_ui_func(item->folder, NULL, NULL); main_window_progress_off(mainwin); + summaryview_unlock(folderview->summaryview, item); gtk_widget_set_sensitive(folderview->ctree, TRUE); main_window_unlock(mainwin); inc_unlock(); diff --git a/src/procheader.c b/src/procheader.c index de0008cb8..132b361a7 100644 --- a/src/procheader.c +++ b/src/procheader.c @@ -618,6 +618,8 @@ static MsgInfo *parse_stream(void *data, gboolean isstring, MsgFlags flags, if (msginfo->from) break; msginfo->from = conv_unmime_header(hp, NULL); msginfo->fromname = procheader_get_fromname(msginfo->from); + replace_returns(msginfo->from); + replace_returns(msginfo->fromname); break; case H_TO: tmp = conv_unmime_header(hp, NULL); @@ -653,6 +655,7 @@ static MsgInfo *parse_stream(void *data, gboolean isstring, MsgFlags flags, case H_SUBJECT: if (msginfo->subject) break; msginfo->subject = conv_unmime_header(hp, NULL); + replace_returns(msginfo->subject); break; case H_MSG_ID: if (msginfo->msgid) break; diff --git a/src/unmime.c b/src/unmime.c index 1365c3ce4..1f2692df0 100644 --- a/src/unmime.c +++ b/src/unmime.c @@ -127,7 +127,7 @@ gchar *unmime_header(const gchar *encoded_str) p = eword_end_p + 2; } - + out_str = outbuf->str; out_len = outbuf->len; g_string_free(outbuf, FALSE); -- 2.25.1