From 73b4c7f5a0d307af6ef13bc7b5c900fce5a16002 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Sat, 9 Nov 2019 22:45:17 +0100 Subject: [PATCH] Fix printing of empty pages when the selected part is rendered with a plugin not implementing print. --- src/messageview.c | 4 ++++ src/mimeview.c | 8 ++++++++ src/mimeview.h | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/messageview.c b/src/messageview.c index 2f7a8289f..b4fc18316 100644 --- a/src/messageview.c +++ b/src/messageview.c @@ -2180,6 +2180,10 @@ static void print_mimeview(MimeView *mimeview, gint sel_start, gint sel_end, gin if (viewer && viewer->print) { viewer->print(viewer); return; + } else { + /* Force text rendering */ + mimeview_show_part_as_text(mimeview, + mimeview_get_selected_part(mimeview)); } } if (sel_start != -1 && sel_end != -1) { diff --git a/src/mimeview.c b/src/mimeview.c index bb14a60ec..28dd069ca 100644 --- a/src/mimeview.c +++ b/src/mimeview.c @@ -1430,6 +1430,14 @@ static void update_signature_info(MimeView *mimeview, MimeInfo *selected) noticeview_show(mimeview->siginfoview); } +void mimeview_show_part_as_text(MimeView *mimeview, MimeInfo *partinfo) +{ + cm_return_if_fail(mimeview != NULL); + cm_return_if_fail(partinfo != NULL); + + mimeview_show_message_part(mimeview, partinfo); +} + static void mimeview_selected(GtkTreeSelection *selection, MimeView *mimeview) { GtkTreeView *ctree = GTK_TREE_VIEW(mimeview->ctree); diff --git a/src/mimeview.h b/src/mimeview.h index e520d55e4..2f87b8c3a 100644 --- a/src/mimeview.h +++ b/src/mimeview.h @@ -147,6 +147,8 @@ void mimeview_show_message (MimeView *mimeview, const gchar *file); gboolean mimeview_show_part (MimeView *mimeview, MimeInfo *partinfo); +void mimeview_show_part_as_text (MimeView *mimeview, + MimeInfo *partinfo); void mimeview_destroy (MimeView *mimeview); void mimeview_update (MimeView *mimeview); void mimeview_clear (MimeView *mimeview); -- 2.25.1