aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-callbacks.c')
-rw-r--r--mail/mail-callbacks.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index c8256cdc78..a9610bd636 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -1971,11 +1971,15 @@ flag_messages (FolderBrowser *fb, guint32 mask, guint32 set)
uids = g_ptr_array_new ();
message_list_foreach (fb->message_list, enumerate_msg, uids);
camel_folder_freeze (fb->folder);
- for (i = 0; i < uids->len; i++)
+ for (i = 0; i < uids->len; i++) {
camel_folder_set_message_flags (fb->folder, uids->pdata[i], mask, set);
- camel_folder_free_uids (fb->folder, uids);
+ g_free (uids->pdata[i]);
+ }
+
camel_folder_thaw (fb->folder);
+ g_ptr_array_free (uids);
+
return i;
}
@@ -2057,12 +2061,10 @@ mark_all_as_seen (BonoboUIComponent *uih, void *user_data, const char *path)
uids = camel_folder_get_uids (fb->folder);
camel_folder_freeze (fb->folder);
- for (i = 0; i < uids->len; i++) {
+ for (i = 0; i < uids->len; i++)
camel_folder_set_message_flags (fb->folder, uids->pdata[i], CAMEL_MESSAGE_SEEN, ~0);
- g_free (uids->pdata[i]);
- }
+ camel_folder_free_uids (fb->folder, uids);
camel_folder_thaw (fb->folder);
- g_ptr_array_free (uids, TRUE);
}
void