[anjal] BUGFIX: GNOME Bugzilla #591786 – Memory leak in em-tree-store.c:emts_folder_changed_idle()



commit e16a97d84358dfb1d9d5167c8609b0f9ff573ab7
Author: Yan Li <yan i li intel com>
Date:   Fri Aug 14 17:05:50 2009 +0800

    BUGFIX: GNOME Bugzilla #591786 â?? Memory leak in em-tree-store.c:emts_folder_changed_idle()
    
    Signed-off-by: Yan Li <yan i li intel com>

 src/em-tree-store.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/em-tree-store.c b/src/em-tree-store.c
index 96c4bfc..deb0aa2 100644
--- a/src/em-tree-store.c
+++ b/src/em-tree-store.c
@@ -1036,7 +1036,6 @@ emts_folder_changed_idle(void *data)
 	f = (struct _emts_folder *)p->folders.head;
 	n = f->next;
 	while (n) {
-
 		d(printf("Changed added=%d removed=%d changed=%d\n", f->changes->uid_added->len, f->changes->uid_removed->len, f->changes->uid_changed->len));
 		for (i=0;i<f->changes->uid_added->len;i++) {
 			CamelMessageInfo *mi;
@@ -1045,6 +1044,7 @@ emts_folder_changed_idle(void *data)
 			mi = camel_folder_get_message_info (f->folder, uid);
 			if (g_hash_table_lookup(f->uid_table, camel_message_info_uid(mi)) == NULL)
 				resort = emts_insert_info_incr(emts, mi, f) || resort;
+			camel_message_info_free (mi);
 		}
 
 		for (i=0;i<f->changes->uid_removed->len;i++) {
@@ -1053,6 +1053,7 @@ emts_folder_changed_idle(void *data)
 
 			mi = camel_folder_get_message_info (f->folder, uid);			
 			emts_remove_info(emts, uid, f);
+			camel_message_info_free (mi);
 		}
 
 		for (i=0;i<f->changes->uid_changed->len;i++) {



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