[evolution-data-server] Ensure proper reference handling of CamelMessageInfo



commit 2e90080dcc96b90c1f81516be066c8a7e2bdf89a
Author: Milan Crha <mcrha redhat com>
Date:   Tue Feb 16 16:59:59 2010 +0100

    Ensure proper reference handling of CamelMessageInfo

 camel/providers/local/camel-maildir-folder.c |    3 ++-
 camel/providers/local/camel-mbox-summary.c   |    2 ++
 2 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/camel/providers/local/camel-maildir-folder.c b/camel/providers/local/camel-maildir-folder.c
index 81d5553..a5e02be 100644
--- a/camel/providers/local/camel-maildir-folder.c
+++ b/camel/providers/local/camel-maildir-folder.c
@@ -408,7 +408,6 @@ maildir_transfer_messages_to (CamelFolder *source, GPtrArray *uids, CamelFolder
 			d_filename = g_strdup_printf ("%s/cur/%s", df->folder_path, tmp);
 			g_free (tmp);
 			s_filename = g_strdup_printf("%s/cur/%s", lf->folder_path, camel_maildir_info_filename (mdi));
-			camel_message_info_free (info);
 
 			if (g_rename (s_filename, d_filename) != 0) {
 				if (errno == EXDEV) {
@@ -417,6 +416,7 @@ maildir_transfer_messages_to (CamelFolder *source, GPtrArray *uids, CamelFolder
 				} else {
 					camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
 							_("Cannot transfer message to destination folder"));
+					camel_message_info_free (info);
 					break;
 				}
 			} else {
@@ -424,6 +424,7 @@ maildir_transfer_messages_to (CamelFolder *source, GPtrArray *uids, CamelFolder
 				camel_folder_summary_remove (source->summary, info);
 			}
 
+			camel_message_info_free (info);
 			g_free (s_filename);
 			g_free (d_filename);
 		}
diff --git a/camel/providers/local/camel-mbox-summary.c b/camel/providers/local/camel-mbox-summary.c
index 5b422ac..242d13b 100644
--- a/camel/providers/local/camel-mbox-summary.c
+++ b/camel/providers/local/camel-mbox-summary.c
@@ -946,6 +946,7 @@ mbox_summary_sync_quick(CamelMboxSummary *mbs, gboolean expunge, CamelFolderChan
 		info->info.info.flags &= 0xffff;
 		info->info.info.dirty = TRUE;
 		camel_message_info_free((CamelMessageInfo *)info);
+		info = NULL;
 	}
 
 	d(printf("Closing folders\n"));
@@ -1248,6 +1249,7 @@ camel_mbox_summary_sync_mbox(CamelMboxSummary *cls, guint32 flags, CamelFolderCh
 				camel_folder_summary_touch(s);
 			}
 			camel_message_info_free((CamelMessageInfo *)info);
+			info = NULL;
 		}
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]