* src/textview.c
fix bug 1032, 'Segmentation fault when showing
message' (bug in quote folding)
Thanks to Colin
+2006-10-11 [paul] 2.5.3cvs32
+
+ * src/textview.c
+ fix bug 1032, 'Segmentation fault when showing
+ message' (bug in quote folding)
+ Thanks to Colin
+
2006-10-10 [colin] 2.5.3cvs31
* src/quote_fmt.c
2006-10-10 [colin] 2.5.3cvs31
* src/quote_fmt.c
( cvs diff -u -r 1.382.2.313 -r 1.382.2.314 src/compose.c; cvs diff -u -r 1.12.2.31 -r 1.12.2.32 src/prefs_template.c; cvs diff -u -r 1.8.2.9 -r 1.8.2.10 src/quote_fmt.c; cvs diff -u -r 1.5.12.5 -r 1.5.12.6 src/quote_fmt.h; cvs diff -u -r 1.8.2.5 -r 1.8.2.6 src/quote_fmt_lex.l; cvs diff -u -r 1.22.2.23 -r 1.22.2.24 src/quote_fmt_parse.y; ) > 2.5.3cvs29.patchset
( cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/prefs_compose_writing.c; ) > 2.5.3cvs30.patchset
( cvs diff -u -r 1.8.2.10 -r 1.8.2.11 src/quote_fmt.c; ) > 2.5.3cvs31.patchset
( cvs diff -u -r 1.382.2.313 -r 1.382.2.314 src/compose.c; cvs diff -u -r 1.12.2.31 -r 1.12.2.32 src/prefs_template.c; cvs diff -u -r 1.8.2.9 -r 1.8.2.10 src/quote_fmt.c; cvs diff -u -r 1.5.12.5 -r 1.5.12.6 src/quote_fmt.h; cvs diff -u -r 1.8.2.5 -r 1.8.2.6 src/quote_fmt_lex.l; cvs diff -u -r 1.22.2.23 -r 1.22.2.24 src/quote_fmt_parse.y; ) > 2.5.3cvs29.patchset
( cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/prefs_compose_writing.c; ) > 2.5.3cvs30.patchset
( cvs diff -u -r 1.8.2.10 -r 1.8.2.11 src/quote_fmt.c; ) > 2.5.3cvs31.patchset
+( cvs diff -u -r 1.96.2.154 -r 1.96.2.155 src/textview.c; ) > 2.5.3cvs32.patchset
MICRO_VERSION=3
INTERFACE_AGE=0
BINARY_AGE=0
MICRO_VERSION=3
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
buffer = gtk_text_view_get_buffer(text);
charcount = gtk_text_buffer_get_char_count(buffer);
gtk_text_buffer_get_end_iter(buffer, &iter);
buffer = gtk_text_view_get_buffer(text);
charcount = gtk_text_buffer_get_char_count(buffer);
gtk_text_buffer_get_end_iter(buffer, &iter);
if (textview->stop_loading) {
return;
}
if (textview->stop_loading) {
return;
}
+ previousquotelevel = -1;
+
if ((mimeinfo->type == MIMETYPE_MESSAGE) && !g_ascii_strcasecmp(mimeinfo->subtype, "rfc822")) {
FILE *fp;
if ((mimeinfo->type == MIMETYPE_MESSAGE) && !g_ascii_strcasecmp(mimeinfo->subtype, "rfc822")) {
FILE *fp;
}
if (real_quotelevel > -1 && do_quote_folding) {
}
if (real_quotelevel > -1 && do_quote_folding) {
if ( previousquotelevel != real_quotelevel ) {
ClickableText *uri;
uri = g_new0(ClickableText, 1);
if ( previousquotelevel != real_quotelevel ) {
ClickableText *uri;
uri = g_new0(ClickableText, 1);
} else {
GSList *last = textview->uri_list;
ClickableText *lasturi = (ClickableText *)last->data;
} else {
GSList *last = textview->uri_list;
ClickableText *lasturi = (ClickableText *)last->data;
- gint e_len = lasturi->data ? strlen(lasturi->data):0;
- gint n_len = strlen(buf);
+ gint e_len = 0, n_len = 0;
+
+ if (lasturi->is_quote == FALSE) {
+ previousquotelevel = -1;
+ goto do_quote;
+ }
+ e_len = lasturi->data ? strlen(lasturi->data):0;
+ n_len = strlen(buf);
lasturi->data = g_realloc((gchar *)lasturi->data, e_len + n_len + 1);
strcpy((gchar *)lasturi->data + e_len, buf);
*((gchar *)lasturi->data + e_len + n_len) = '\0';
lasturi->data = g_realloc((gchar *)lasturi->data, e_len + n_len + 1);
strcpy((gchar *)lasturi->data + e_len, buf);
*((gchar *)lasturi->data + e_len + n_len) = '\0';