diff options
Diffstat (limited to 'src/compose.c')
-rw-r--r-- | src/compose.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/compose.c b/src/compose.c index 588922c3..e9b77370 100644 --- a/src/compose.c +++ b/src/compose.c @@ -1997,6 +1997,7 @@ static void compose_wrap_paragraph(Compose *compose, GtkTextIter *par_iter) GtkTextIter iter, break_pos; gchar *quote_str = NULL; gint quote_len; + gboolean wrap_quote = prefs_common.linewrap_quote; buffer = gtk_text_view_get_buffer(text); @@ -2031,8 +2032,14 @@ static void compose_wrap_paragraph(Compose *compose, GtkTextIter *par_iter) do { quote_str = compose_get_quote_str(buffer, &iter, "e_len); - if (quote_str) + if (quote_str) { + if (!wrap_quote) { + gtk_text_iter_forward_line(&iter); + g_free(quote_str); + continue; + } debug_print("compose_wrap_paragraph(): quote_str = '%s'\n", quote_str); + } if (compose_get_line_break_pos(buffer, &iter, &break_pos, prefs_common.linewrap_len, @@ -2045,8 +2052,6 @@ static void compose_wrap_paragraph(Compose *compose, GtkTextIter *par_iter) iter = break_pos; compose_join_next_line(buffer, &iter, quote_str); - g_free(quote_str); - /* move iter to current line start */ gtk_text_iter_set_line_offset(&iter, 0); } else { @@ -2054,6 +2059,8 @@ static void compose_wrap_paragraph(Compose *compose, GtkTextIter *par_iter) iter = break_pos; gtk_text_iter_forward_line(&iter); } + + g_free(quote_str); } while (!gtk_text_iter_ends_line(&iter)); /* stop if paragraph end (empty line) */ |