|
Milan Crha |
2c486f |
diff --git a/camel/providers/local/camel-mh-summary.c b/camel/providers/local/camel-mh-summary.c
|
|
Milan Crha |
2c486f |
index 50e1ace..dd22b17 100644
|
|
Milan Crha |
2c486f |
--- a/camel/providers/local/camel-mh-summary.c
|
|
Milan Crha |
2c486f |
+++ b/camel/providers/local/camel-mh-summary.c
|
|
Milan Crha |
2c486f |
@@ -254,7 +254,13 @@ mh_summary_check (CamelLocalSummary *cls,
|
|
Milan Crha |
2c486f |
if (info == NULL || (cls->index && (!camel_index_has_name (cls->index, d->d_name)))) {
|
|
Milan Crha |
2c486f |
/* need to add this file to the summary */
|
|
Milan Crha |
2c486f |
if (info != NULL) {
|
|
Milan Crha |
2c486f |
- g_hash_table_remove (left, camel_message_info_uid (info));
|
|
Milan Crha |
2c486f |
+ CamelMessageInfo *old = g_hash_table_lookup (left, camel_message_info_uid (info));
|
|
Milan Crha |
2c486f |
+
|
|
Milan Crha |
2c486f |
+ if (old) {
|
|
Milan Crha |
2c486f |
+ g_hash_table_remove (left, camel_message_info_uid (info));
|
|
Milan Crha |
2c486f |
+ camel_message_info_free (old);
|
|
Milan Crha |
2c486f |
+ }
|
|
Milan Crha |
2c486f |
+
|
|
Milan Crha |
2c486f |
camel_folder_summary_remove ((CamelFolderSummary *) cls, info);
|
|
Milan Crha |
2c486f |
camel_message_info_free (info);
|
|
Milan Crha |
2c486f |
}
|
|
Milan Crha |
2c486f |
@@ -264,8 +270,8 @@ mh_summary_check (CamelLocalSummary *cls,
|
|
Milan Crha |
2c486f |
CamelMessageInfo *old = g_hash_table_lookup (left, uid);
|
|
Milan Crha |
2c486f |
|
|
Milan Crha |
2c486f |
if (old) {
|
|
Milan Crha |
2c486f |
- camel_message_info_free (old);
|
|
Milan Crha |
2c486f |
g_hash_table_remove (left, uid);
|
|
Milan Crha |
2c486f |
+ camel_message_info_free (old);
|
|
Milan Crha |
2c486f |
}
|
|
Milan Crha |
2c486f |
camel_message_info_free (info);
|
|
Milan Crha |
2c486f |
}
|
|
Milan Crha |
2c486f |
@@ -331,6 +337,8 @@ mh_summary_sync (CamelLocalSummary *cls,
|
|
Milan Crha |
2c486f |
camel_message_info_free (info);
|
|
Milan Crha |
2c486f |
}
|
|
Milan Crha |
2c486f |
|
|
Milan Crha |
2c486f |
+ camel_folder_summary_free_array (known_uids);
|
|
Milan Crha |
2c486f |
+
|
|
Milan Crha |
2c486f |
/* Chain up to parent's sync() method. */
|
|
Milan Crha |
2c486f |
local_summary_class = CAMEL_LOCAL_SUMMARY_CLASS (camel_mh_summary_parent_class);
|
|
Milan Crha |
2c486f |
return local_summary_class->sync (cls, expunge, changes, cancellable, error);
|