[evolution-patches] fix for the bug #326413 [exchange calendar]



Hi,
    Have attached the fix for the bug. Ref the folder before while
inserting so that it doesnt die on us before removing it from the hash
table.

thanks, Chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/ChangeLog,v
retrieving revision 1.58
diff -u -p -u -p -r1.58 ChangeLog
--- ChangeLog	10 Feb 2006 09:19:01 -0000	1.58
+++ ChangeLog	13 Feb 2006 11:37:12 -0000
@@ -1,3 +1,10 @@
+2006-02-13  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes #326413
+	* storage/exchange-hierarchy-webdav.c: (init),
+	(hierarchy_new_folder): Ref the folder before while inserting
+	so that it doesnt die on us before removing.
+
 2006-02-10  Sushma Rai  <rsushma novell com>
 
 	* storage/exchange-esource.c (add_folder_esource): Calling 
Index: storage/exchange-hierarchy-webdav.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/storage/exchange-hierarchy-webdav.c,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 exchange-hierarchy-webdav.c
--- storage/exchange-hierarchy-webdav.c	6 Feb 2006 08:01:53 -0000	1.9
+++ storage/exchange-hierarchy-webdav.c	13 Feb 2006 11:37:20 -0000
@@ -112,7 +112,7 @@ init (GObject *object)
 	ExchangeHierarchyWebDAV *hwd = EXCHANGE_HIERARCHY_WEBDAV (object);
 
 	hwd->priv = g_new0 (ExchangeHierarchyWebDAVPrivate, 1);
-	hwd->priv->folders_by_internal_path = g_hash_table_new (g_str_hash, g_str_equal);
+	hwd->priv->folders_by_internal_path = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
 	hwd->priv->total_folder_size = 0;
 
 	g_signal_connect (object, "new_folder",
@@ -191,7 +191,7 @@ hierarchy_new_folder (ExchangeHierarchy 
 		return;
 
 	g_hash_table_insert (EXCHANGE_HIERARCHY_WEBDAV (hier)->priv->folders_by_internal_path,
-			     (char *)e2k_uri_path (internal_uri), folder);
+			     (char *)e2k_uri_path (internal_uri), g_object_ref (folder));
 
 	mf_path = e_folder_exchange_get_storage_file (folder, "connector-metadata.xml");
 	e_folder_exchange_save_to_file (folder, mf_path);


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