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:
Jeffrey Stedfast
2000-09-09 17:30:52 +00:00
committed by Jeffrey Stedfast
parent a528ec34ef
commit 6c42500a9e
2 changed files with 17 additions and 1 deletions

View File

@ -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

View File

@ -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;