From a49b4f8b8d847759d4eca92e96558477e1e0c83c Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Tue, 31 Aug 2004 09:56:41 +0000 Subject: [PATCH 1/1] 2004-08-31 [colin] 0.9.12cvs84.3 * src/compose.c * src/textview.c Fix some more encoding/decoding issues --- ChangeLog-gtk2.claws | 6 ++++++ PATCHSETS | 1 + configure.ac | 2 +- src/compose.c | 6 +++++- src/textview.c | 51 ++------------------------------------------ 5 files changed, 15 insertions(+), 51 deletions(-) diff --git a/ChangeLog-gtk2.claws b/ChangeLog-gtk2.claws index 606c9f911..1b9fc7e75 100644 --- a/ChangeLog-gtk2.claws +++ b/ChangeLog-gtk2.claws @@ -1,3 +1,9 @@ +2004-08-31 [colin] 0.9.12cvs84.3 + + * src/compose.c + * src/textview.c + Fix some more encoding/decoding issues + 2004-08-30 [colin] 0.9.12cvs84.2 * src/mimeview.c diff --git a/PATCHSETS b/PATCHSETS index e98ee1932..c8b1c1beb 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -147,3 +147,4 @@ ( cvs diff -u -r 1.396.2.8 -r 1.396.2.9 ChangeLog; cvs diff -u -r 1.2504.2.16 -r 1.2504.2.17 ChangeLog.claws; cvs diff -u -r 1.391.2.8 -r 1.391.2.9 ChangeLog.jp; cvs diff -u -r 1.79.2.3 -r 1.79.2.4 src/mh.c; cvs diff -u -r 1.47.2.8 -r 1.47.2.9 src/procheader.c; cvs diff -u -r 1.150.2.7 -r 1.150.2.8 src/procmsg.c; cvs diff -u -r 1.60.2.6 -r 1.60.2.7 src/procmsg.h; cvs diff -u -r 1.36.2.6 -r 1.36.2.7 src/common/utils.c; cvs diff -u -r 1.4.2.4 -r 1.4.2.5 src/gtk/menu.h; cvs diff -u -r 1.21 -r 1.22 po/bg.po; cvs diff -u -r 1.9 -r 1.10 po/cs.po; cvs diff -u -r 1.58.2.3 -r 1.58.2.4 po/de.po; cvs diff -u -r 1.9 -r 1.10 po/el.po; cvs diff -u -r 1.12.2.1 -r 1.12.2.2 po/en_GB.po; cvs diff -u -r 1.60.2.4 -r 1.60.2.5 po/es.po; cvs diff -u -r 1.42.2.4 -r 1.42.2.5 po/fr.po; cvs diff -u -r 1.7.2.1 -r 1.7.2.2 po/hr.po; cvs diff -u -r 1.5 -r 1.6 po/hu.po; cvs diff -u -r 1.34.2.3 -r 1.34.2.4 po/it.po; cvs diff -u -r 1.16.2.2 -r 1.16.2.3 po/ja.po; cvs diff -u -r 1.8 -r 1.9 po/ko.po; cvs diff -u -r 1.28 -r 1.29 po/nl.po; cvs diff -u -r 1.10.2.4 -r 1.10.2.5 po/pl.po; cvs diff -u -r 1.50.2.2 -r 1.50.2.3 po/pt_BR.po; cvs diff -u -r 1.17.2.1 -r 1.17.2.2 po/ru.po; cvs diff -u -r 1.2.2.4 -r 1.2.2.5 po/sk.po; cvs diff -u -r 1.17.2.4 -r 1.17.2.5 po/sr.po; cvs diff -u -r 1.4 -r 1.5 po/sv.po; cvs diff -u -r 1.5.2.3 -r 1.5.2.4 po/zh_CN.po; cvs diff -u -r 1.11 -r 1.12 po/zh_TW.Big5.po; ) > 0.9.12cvs83.1.patchset ( cvs diff -u -r 1.83.2.16 -r 1.83.2.17 src/mimeview.c; ) > 0.9.12cvs84.1.patchset ( cvs diff -u -r 1.83.2.17 -r 1.83.2.18 src/mimeview.c; cvs diff -u -r 1.3.2.7 -r 1.3.2.8 src/prefs_themes.c; cvs diff -u -r 1.2.2.11 -r 1.2.2.12 src/gtk/filesel.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/gtk/filesel.h; ) > 0.9.12cvs84.2.patchset +( cvs diff -u -r 1.382.2.46 -r 1.382.2.47 src/compose.c; cvs diff -u -r 1.96.2.17 -r 1.96.2.18 src/textview.c; ) > 0.9.12cvs84.3.patchset diff --git a/configure.ac b/configure.ac index a656aa83d..4a9f9dc0d 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ INTERFACE_AGE=0 BINARY_AGE=0 EXTRA_VERSION=84 EXTRA_RELEASE= -EXTRA_GTK2_VERSION=.2 +EXTRA_GTK2_VERSION=.3 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION} diff --git a/src/compose.c b/src/compose.c index 5b5be8d24..9a44a59cf 100644 --- a/src/compose.c +++ b/src/compose.c @@ -2173,7 +2173,11 @@ static ComposeInsertResult compose_insert_file(Compose *compose, const gchar *fi while (fgets(buf, sizeof(buf), fp) != NULL) { const gchar *cur_encoding = conv_get_current_charset_str(); - gchar *str = conv_codeset_strdup(buf, cur_encoding, CS_UTF_8); + gchar *str = NULL; + if (!g_utf8_validate(buf, -1, NULL)) + str = conv_codeset_strdup(buf, cur_encoding, CS_UTF_8); + else + str = g_strdup(buf); if (!str) continue; diff --git a/src/textview.c b/src/textview.c index 724370e05..5056b2119 100644 --- a/src/textview.c +++ b/src/textview.c @@ -327,22 +327,6 @@ void textview_show_message(TextView *textview, MimeInfo *mimeinfo, textview_set_font(textview, charset); textview_clear(textview); - -/* - if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0) perror("fseek"); - headers = textview_scan_header(textview, fp); - if (headers) { - GtkTextView *text = GTK_TEXT_VIEW(textview->text); - GtkTextBuffer *buffer = gtk_text_view_get_buffer(text); - GtkTextIter iter; - - textview_show_header(textview, headers); - procheader_header_array_destroy(headers); - - gtk_text_buffer_get_end_iter(buffer, &iter); - textview->body_pos = gtk_text_iter_get_offset(&iter); - } -*/ textview_add_parts(textview, mimeinfo); fclose(fp); @@ -367,9 +351,7 @@ void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp) if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0) perror("fseek"); -/* - headers = textview_scan_header(textview, fp); -*/ + if (textview->messageview->forced_charset) charset = textview->messageview->forced_charset; else if (prefs_common.force_charset) @@ -381,22 +363,6 @@ void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp) textview_clear(textview); -/* - if (headers) { - GtkTextView *text = GTK_TEXT_VIEW(textview->text); - GtkTextBuffer *buffer = gtk_text_view_get_buffer(text); - GtkTextIter iter; - - textview_show_header(textview, headers); - procheader_header_array_destroy(headers); - - gtk_text_buffer_get_end_iter(buffer, &iter); - textview->body_pos = gtk_text_iter_get_offset(&iter); - if (!mimeinfo->main) { - gtk_text_buffer_insert(buffer, &iter, "\n", 1); - } - } -*/ if (mimeinfo->type == MIMETYPE_MULTIPART) textview_add_parts(textview, mimeinfo); else @@ -1147,23 +1113,10 @@ static void textview_write_line(TextView *textview, const gchar *str, buffer = gtk_text_view_get_buffer(text); gtk_text_buffer_get_end_iter(buffer, &iter); -#warning FIXME_GTK2 -#if 0 - if (!conv) { - if (textview->text_is_mb) - conv_localetodisp(buf, sizeof(buf), str); - else - strncpy2(buf, str, sizeof(buf)); - } else if (conv_convert(conv, buf, sizeof(buf), str) < 0) - conv_localetodisp(buf, sizeof(buf), str); - else if (textview->text_is_mb) - conv_unreadable_locale(buf); -#else if (!conv) strncpy2(buf, str, sizeof(buf)); else if (conv_convert(conv, buf, sizeof(buf), str) < 0) - conv_localetodisp(buf, sizeof(buf), str); -#endif + strncpy2(buf, str, sizeof(buf)); strcrchomp(buf); if (prefs_common.conv_mb_alnum) conv_mb_alnum(buf); -- 2.25.1