summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-07-20 08:11:00 +0200
committerMilan Crha <mcrha@redhat.com>2012-07-20 08:11:00 +0200
commitb437af542407a8f1b6c3aef5f0ac1625b4f44a23 (patch)
tree46635931cfdb4daacf8f76a1474dbb421a1048b0
parentb5c292e139e2403c3149ea6837a480b18ca3f9fb (diff)
downloadevolution-data-server-b437af542407a8f1b6c3aef5f0ac1625b4f44a23.tar.gz
Prefer camel_folder_summary_peek_loaded() when removing CamelMessageInfo
-rw-r--r--camel/providers/imapx/camel-imapx-server.c8
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]);