diff options
author | Dan Vrátil <dvratil@redhat.com> | 2012-04-27 23:58:00 +0800 |
---|---|---|
committer | Dan Vrátil <dvratil@redhat.com> | 2012-04-27 23:58:35 +0800 |
commit | 8ffb4930b26f9badf8eb0cdb93275c01d3d36f6a (patch) | |
tree | 3f8bb52245f14490d7928ec7e0d3ad204d7ac460 | |
parent | a593d514c872dace24e899c1ccb25955f985cbc4 (diff) | |
download | gsoc2013-evolution-8ffb4930b26f9badf8eb0cdb93275c01d3d36f6a.tar.gz gsoc2013-evolution-8ffb4930b26f9badf8eb0cdb93275c01d3d36f6a.tar.zst gsoc2013-evolution-8ffb4930b26f9badf8eb0cdb93275c01d3d36f6a.zip |
Bug #674060 - Preview panel on folder change not updated
-rw-r--r-- | mail/e-mail-display.c | 11 | ||||
-rw-r--r-- | mail/e-mail-reader.c | 1 | ||||
-rw-r--r-- | widgets/misc/e-web-view.c | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/mail/e-mail-display.c b/mail/e-mail-display.c index 1ffeb82c1b..96c7d97c78 100644 --- a/mail/e-mail-display.c +++ b/mail/e-mail-display.c @@ -1401,9 +1401,11 @@ e_mail_display_set_formatter (EMailDisplay *display, EMFormatHTML *formatter) { g_return_if_fail (E_IS_MAIL_DISPLAY (display)); - g_return_if_fail (EM_IS_FORMAT_HTML (formatter)); - g_object_ref (formatter); + if (formatter) { + g_return_if_fail (EM_IS_FORMAT_HTML (formatter)); + g_object_ref (formatter); + } if (display->priv->formatter != NULL) { /* The formatter might still exist after unrefing it, so @@ -1415,6 +1417,11 @@ e_mail_display_set_formatter (EMailDisplay *display, display->priv->formatter = formatter; + if (!formatter) { + e_web_view_clear (E_WEB_VIEW (display)); + return; + } + mail_display_update_formatter_colors (display); g_signal_connect (formatter, "notify::image-loading-policy", diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c index 1f87703e2b..58aaa307ef 100644 --- a/mail/e-mail-reader.c +++ b/mail/e-mail-reader.c @@ -2835,6 +2835,7 @@ mail_reader_message_selected_timeout_cb (EMailReader *reader) priv->retrieving_message = g_object_ref (cancellable); } } else { + e_mail_display_set_formatter (display, NULL); priv->restoring_message_selection = FALSE; } diff --git a/widgets/misc/e-web-view.c b/widgets/misc/e-web-view.c index dcf07dab04..55d4bd96e0 100644 --- a/widgets/misc/e-web-view.c +++ b/widgets/misc/e-web-view.c @@ -1871,7 +1871,7 @@ e_web_view_clear (EWebView *web_view) { g_return_if_fail (E_IS_WEB_VIEW (web_view)); - e_web_view_load_string (web_view, NULL); + webkit_web_view_load_uri (WEBKIT_WEB_VIEW (web_view), "about:blank"); } void |