evolution-data-server r10146 - in trunk: . libebackend



Author: mcrha
Date: Mon Mar  9 15:44:27 2009
New Revision: 10146
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=10146&view=rev

Log:
2009-03-09  Milan Crha  <mcrha redhat com>

	** Fix for bug #574282

	* libebackend/e-file-cache.c: (e_file_cache_clean):
	Always freeze changes here, to make things done quicker.



Modified:
   trunk/ChangeLog
   trunk/libebackend/e-file-cache.c

Modified: trunk/libebackend/e-file-cache.c
==============================================================================
--- trunk/libebackend/e-file-cache.c	(original)
+++ trunk/libebackend/e-file-cache.c	Mon Mar  9 15:44:27 2009
@@ -263,10 +263,15 @@
 {
 	EFileCachePrivate *priv;
 	GSList *keys = NULL;
+	gboolean iFroze;
 
 	g_return_val_if_fail (E_IS_FILE_CACHE (cache), FALSE);
 
 	priv = cache->priv;
+	iFroze = !priv->frozen;
+
+	if (iFroze)
+		e_file_cache_freeze_changes (cache);
 
 	e_xmlhash_foreach_key (priv->xml_hash, (EXmlHashFunc) add_key_to_slist, &keys);
 	while (keys != NULL) {
@@ -274,6 +279,9 @@
 		keys = g_slist_remove (keys, keys->data);
 	}
 
+	if (iFroze)
+		e_file_cache_thaw_changes (cache);
+
 	return TRUE;
 }
 



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