aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-reader.c
diff options
context:
space:
mode:
authorDan Vrátil <dvratil@redhat.com>2012-08-07 16:52:36 +0800
committerDan Vrátil <dvratil@redhat.com>2012-08-07 16:52:36 +0800
commit194d2cc487fe50c0e2e7dbbb3b27fd30c1746d6b (patch)
tree942abbd2b94f02139e172968a7f7eb45cf74dbdc /mail/e-mail-reader.c
parent8f145c216fd4e2fa19cde27b442f034cd574ac86 (diff)
downloadgsoc2013-evolution-194d2cc487fe50c0e2e7dbbb3b27fd30c1746d6b.tar.gz
gsoc2013-evolution-194d2cc487fe50c0e2e7dbbb3b27fd30c1746d6b.tar.zst
gsoc2013-evolution-194d2cc487fe50c0e2e7dbbb3b27fd30c1746d6b.zip
Bug #680947 - Multiselect doesn't clear message preview panel
Diffstat (limited to 'mail/e-mail-reader.c')
-rw-r--r--mail/e-mail-reader.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 2f3a063686..40da43780c 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2943,15 +2943,21 @@ mail_reader_message_selected_cb (EMailReader *reader,
priv->restoring_message_selection = priv->folder_was_just_selected;
priv->folder_was_just_selected = FALSE;
- /* Skip the timeout if we're restoring the previous message
- * selection. The timeout is there for when we're scrolling
- * rapidly through the message list. */
- if (priv->restoring_message_selection)
+ if (message_list_selected_count (message_list) != 1) {
+ EMailDisplay *display = e_mail_reader_get_mail_display (reader);
+
+ e_mail_display_set_parts_list (display, NULL);
+ e_web_view_clear (E_WEB_VIEW (display));
+ } else if (priv->restoring_message_selection) {
+ /* Skip the timeout if we're restoring the previous message
+ * selection. The timeout is there for when we're scrolling
+ * rapidly through the message list. */
mail_reader_message_selected_timeout_cb (reader);
- else
+ } else {
priv->message_selected_timeout_id = g_timeout_add (
100, (GSourceFunc)
mail_reader_message_selected_timeout_cb, reader);
+ }
e_mail_reader_changed (reader);
}