[evolution-data-server] Bug 627616 - CamelIMAPXStoreSummary never frees its namespace list



commit ce7f6a065a868f5cb769413cecb0b6499df9e35d
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Aug 27 12:13:30 2010 -0400

    Bug 627616 - CamelIMAPXStoreSummary never frees its namespace list

 camel/providers/imapx/camel-imapx-store-summary.c |   17 +++++++++++++++++
 camel/providers/imapx/camel-imapx-store-summary.h |    4 ++--
 2 files changed, 19 insertions(+), 2 deletions(-)
---
diff --git a/camel/providers/imapx/camel-imapx-store-summary.c b/camel/providers/imapx/camel-imapx-store-summary.c
index becb050..1b75be7 100644
--- a/camel/providers/imapx/camel-imapx-store-summary.c
+++ b/camel/providers/imapx/camel-imapx-store-summary.c
@@ -53,10 +53,27 @@ static void store_info_set_string(CamelStoreSummary *, CamelStoreInfo *, int, co
 G_DEFINE_TYPE (CamelIMAPXStoreSummary, camel_imapx_store_summary, CAMEL_TYPE_STORE_SUMMARY)
 
 static void
+imapx_store_summary_finalize (GObject *object)
+{
+	CamelIMAPXStoreSummary *summary;
+
+	summary = CAMEL_IMAPX_STORE_SUMMARY (object);
+
+	camel_imapx_namespace_list_clear (summary->namespaces);
+
+	/* Chain up to parent's finalize() method. */
+	G_OBJECT_CLASS (camel_imapx_store_summary_parent_class)->finalize (object);
+}
+
+static void
 camel_imapx_store_summary_class_init (CamelIMAPXStoreSummaryClass *class)
 {
+	GObjectClass *object_class;
 	CamelStoreSummaryClass *store_summary_class;
 
+	object_class = G_OBJECT_CLASS (class);
+	object_class->finalize = imapx_store_summary_finalize;
+
 	store_summary_class = CAMEL_STORE_SUMMARY_CLASS (class);
 	store_summary_class->summary_header_load = summary_header_load;
 	store_summary_class->summary_header_save = summary_header_save;
diff --git a/camel/providers/imapx/camel-imapx-store-summary.h b/camel/providers/imapx/camel-imapx-store-summary.h
index c290ee0..ed4b2ca 100644
--- a/camel/providers/imapx/camel-imapx-store-summary.h
+++ b/camel/providers/imapx/camel-imapx-store-summary.h
@@ -29,10 +29,10 @@
 	(camel_imapx_store_summary_get_type ())
 #define CAMEL_IMAPX_STORE_SUMMARY(obj) \
 	(G_TYPE_CHECK_INSTANCE_CAST \
-	((obj), CAMEL_TYPE_IMAPX_STORE_SUMMARY, CamelIMAPXStoreSummary)
+	((obj), CAMEL_TYPE_IMAPX_STORE_SUMMARY, CamelIMAPXStoreSummary))
 #define CAMEL_IMAPX_STORE_SUMMARY_CLASS(cls) \
 	(G_TYPE_CHECK_CLASS_CAST \
-	((cls), CAMEL_TYPE_IMAPX_STORE_SUMMARY, CamelIMAPXStoreSummaryClass)
+	((cls), CAMEL_TYPE_IMAPX_STORE_SUMMARY, CamelIMAPXStoreSummaryClass))
 #define CAMEL_IS_IMAPX_STORE_SUMMARY(obj) \
 	(G_TYPE_CHECK_INSTANCE_TYPE \
 	((obj), CAMEL_TYPE_IMAPX_STORE_SUMMARY))



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