[evolution-patches] Exchange : fix for 73079



Hi,

The ref counts for the folders were not getting updated while moving from offline to online. This fixes that problem.

            Thanks
                                        -- Sarfraaz Ahmed <asarfraaz novell com>
Index: storage/exchange-hierarchy-webdav.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/storage/exchange-hierarchy-webdav.c,v
retrieving revision 1.25
diff -u -p -u -r1.25 exchange-hierarchy-webdav.c
--- storage/exchange-hierarchy-webdav.c	26 Feb 2005 14:19:16 -0000	1.25
+++ storage/exchange-hierarchy-webdav.c	27 Feb 2005 07:57:34 -0000
@@ -197,6 +197,8 @@ hierarchy_new_folder (ExchangeHierarchy 
 	g_hash_table_insert (EXCHANGE_HIERARCHY_WEBDAV (hier)->priv->folders_by_internal_path,
 			     (char *)e2k_uri_path (internal_uri), folder);
 
+	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);
 	g_free (mf_path);
@@ -218,6 +220,7 @@ hierarchy_removed_folder (ExchangeHierar
 
 	e_path_rmdir (hier->account->storage_dir,
 		      e_folder_exchange_get_path (folder));
+	g_object_unref (folder);
 }
 
 static gboolean
@@ -706,6 +709,7 @@ scan_subtree (ExchangeHierarchy *hier, E
 		    e_folder_exchange_get_has_subfolders (folder)) {
 			e_folder_exchange_set_has_subfolders (folder, FALSE);
 			subtrees = g_slist_prepend (subtrees, folder);
+			g_object_ref (folder);
 		}
 		exchange_hierarchy_new_folder (hier, folder);
 		g_object_unref (folder);
@@ -716,6 +720,7 @@ scan_subtree (ExchangeHierarchy *hier, E
 		folder = subtrees->data;
 		subtrees = g_slist_remove (subtrees, folder);
 		scan_subtree (hier, folder, offline);
+		g_object_unref (folder);
 	}
 
 	return exchange_hierarchy_webdav_status_to_folder_result (status);


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