Freeze the default folder before filtering and thaw it afterward to
2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Freeze the default folder before filtering and thaw it afterward to prevent a ton of "folder_changed" signals from being queued. svn path=/trunk/; revision=5286
This commit is contained in:
committed by
Jeffrey Stedfast
parent
a528ec34ef
commit
6c42500a9e
@ -1,3 +1,9 @@
|
||||
2000-09-09 Jeffrey Stedfast <fejj@helixcode.com>
|
||||
|
||||
* mail-ops.c (do_fetch_mail): Freeze the default folder before
|
||||
filtering and thaw it afterward to prevent a ton of
|
||||
"folder_changed" signals from being queued.
|
||||
|
||||
2000-09-08 Christopher James Lahey <clahey@helixcode.com>
|
||||
|
||||
* folder-browser.c, mail-config-gui.c, mail-ops.c: Fixed some
|
||||
|
||||
@ -158,6 +158,8 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
|
||||
camel_object_hook_event (CAMEL_OBJECT (input->destination), "folder_changed",
|
||||
input->hook_func, input->hook_data);
|
||||
|
||||
camel_folder_freeze (input->destination);
|
||||
|
||||
uids = camel_folder_get_uids (folder);
|
||||
for (i = 0; i < uids->len; i++) {
|
||||
CamelMimeMessage *message;
|
||||
@ -197,7 +199,15 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
|
||||
}
|
||||
camel_object_unref (CAMEL_OBJECT (message));
|
||||
}
|
||||
camel_folder_sync (folder, TRUE, ex);
|
||||
|
||||
camel_folder_sync (folder, FALSE, ex);
|
||||
|
||||
camel_folder_thaw (input->destination);
|
||||
|
||||
if (input->hook_func)
|
||||
camel_object_unhook_event (CAMEL_OBJECT (folder), "folder_changed",
|
||||
input->hook_func, input->hook_data);
|
||||
|
||||
camel_folder_free_uids (folder, uids);
|
||||
|
||||
data->empty = FALSE;
|
||||
|
||||
Reference in New Issue
Block a user