diff options
Diffstat (limited to 'mail/e-mail-reader.c')
-rw-r--r-- | mail/e-mail-reader.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c index ff7cd9fd47..2f07a2795a 100644 --- a/mail/e-mail-reader.c +++ b/mail/e-mail-reader.c @@ -1934,14 +1934,18 @@ mail_reader_set_folder (EMailReader *reader, html_display = e_mail_reader_get_html_display (reader); message_list = e_mail_reader_get_message_list (reader); + if (message_list->folder != NULL) + mail_sync_folder (message_list->folder, NULL, NULL); + + /* Skip the rest if we're already viewing the folder. */ + if (g_strcmp0 (folder_uri, message_list->folder_uri) == 0) + return; + outgoing = folder != NULL && folder_uri != NULL && ( em_utils_folder_is_drafts (folder, folder_uri) || em_utils_folder_is_outbox (folder, folder_uri) || em_utils_folder_is_sent (folder, folder_uri)); - if (message_list->folder != NULL) - mail_sync_folder (message_list->folder, NULL, NULL); - em_format_format (EM_FORMAT (html_display), NULL, NULL, NULL); message_list_set_folder (message_list, folder, folder_uri, outgoing); |