aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index 8fd0ea8092..ffa00bc927 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -40,6 +40,7 @@
#include <camel/camel-file-utils.h>
#include <camel/camel-folder.h>
#include <camel/camel-folder-thread.h>
+#include <camel/camel-folder-summary.h>
#include <camel/camel-vee-folder.h>
#include <libedataserver/e-memory.h>
@@ -4062,6 +4063,7 @@ regen_list_exec (struct _regen_list_msg *m)
e_profile_event_emit("list.threaduids", m->folder->full_name, 0);
+ //camel_folder_summary_reload_from_db (m->folder->summary, NULL);
if (!camel_operation_cancel_check(m->base.cancel)) {
/* update/build a new tree */
if (m->dotree) {
@@ -4071,6 +4073,10 @@ regen_list_exec (struct _regen_list_msg *m)
m->tree = camel_folder_thread_messages_new (m->folder, showuids, m->thread_subject);
} else {
m->summary = g_ptr_array_new ();
+ if (showuids->len != camel_folder_summary_cache_size (m->folder->summary) ) {
+ CamelException ex;
+ camel_folder_summary_reload_from_db (m->folder->summary, &ex);
+ }
for (i = 0; i < showuids->len; i++) {
info = camel_folder_get_message_info (m->folder, showuids->pdata[i]);
if (info)