diff options
author | Milan Crha <mcrha@redhat.com> | 2012-07-20 08:11:00 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2012-07-20 08:11:00 +0200 |
commit | b437af542407a8f1b6c3aef5f0ac1625b4f44a23 (patch) | |
tree | 46635931cfdb4daacf8f76a1474dbb421a1048b0 | |
parent | b5c292e139e2403c3149ea6837a480b18ca3f9fb (diff) | |
download | evolution-data-server-b437af542407a8f1b6c3aef5f0ac1625b4f44a23.tar.gz |
Prefer camel_folder_summary_peek_loaded() when removing CamelMessageInfo
-rw-r--r-- | camel/providers/imapx/camel-imapx-server.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c index a47e8d4c5..f96e08161 100644 --- a/camel/providers/imapx/camel-imapx-server.c +++ b/camel/providers/imapx/camel-imapx-server.c @@ -1006,10 +1006,12 @@ imapx_expunge_uid_from_summary (CamelIMAPXServer *is, if (is->changes == NULL) is->changes = camel_folder_change_info_new (); - mi = camel_folder_summary_get (is->select_folder->summary, uid); + mi = camel_folder_summary_peek_loaded (is->select_folder->summary, uid); if (mi) { camel_folder_summary_remove (is->select_folder->summary, mi); camel_message_info_free (mi); + } else { + camel_folder_summary_remove_uid (is->select_folder->summary, uid); } is->expunged = g_list_prepend (is->expunged, uid); @@ -4640,10 +4642,12 @@ imapx_command_expunge_done (CamelIMAPXServer *is, gchar *uid = uids->pdata[i]; CamelMessageInfo *mi; - mi = camel_folder_summary_get (folder->summary, uid); + mi = camel_folder_summary_peek_loaded (folder->summary, uid); if (mi) { camel_folder_summary_remove (folder->summary, mi); camel_message_info_free (mi); + } else { + camel_folder_summary_remove_uid (folder->summary, uid); } camel_folder_change_info_remove_uid (changes, uids->pdata[i]); |