diff options
Diffstat (limited to 'mail/message-list.c')
-rw-r--r-- | mail/message-list.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mail/message-list.c b/mail/message-list.c index ffa922590a..581452e99c 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2285,14 +2285,20 @@ regen_list_regen (struct _mail_msg *mm) GPtrArray *uids, *uidnew, *showuids; CamelMessageInfo *info; int i; - + + camel_operation_register(mm->cancel); + camel_operation_start(mm->cancel, _("Updating message list")); + if (m->search) uids = camel_folder_search_by_expression (m->folder, m->search, &mm->ex); else uids = camel_folder_get_uids (m->folder); - if (camel_exception_is_set (&mm->ex)) + if (camel_exception_is_set (&mm->ex)) { + camel_operation_end(mm->cancel); + camel_operation_unregister(mm->cancel); return; + } /* perform hiding */ if (m->hideexpr) { @@ -2395,6 +2401,9 @@ regen_list_regen (struct _mail_msg *mm) m->tree = camel_folder_thread_messages_new_summary (m->summary); else m->tree = NULL; + + camel_operation_end(mm->cancel); + camel_operation_unregister(mm->cancel); } static void |