evolution-data-server r9268 - trunk/camel



Author: sragavan
Date: Tue Aug  5 16:32:49 2008
New Revision: 9268
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9268&view=rev

Log:
2008-08-05  Srinivasa Ragavan  <sragavan novell com>

** Fix for bug #545505

* camel/camel-folder-summary.c: Don't bother starting cache kick off
threads for zombie summaries.
* camel/camel-folder.c: When we unref a folder, kick off the freeing
thread from summary.


Modified:
   trunk/camel/ChangeLog
   trunk/camel/camel-folder-summary.c
   trunk/camel/camel-folder.c

Modified: trunk/camel/camel-folder-summary.c
==============================================================================
--- trunk/camel/camel-folder-summary.c	(original)
+++ trunk/camel/camel-folder-summary.c	Tue Aug  5 16:32:49 2008
@@ -791,7 +791,12 @@
 cfs_try_release_memory (CamelFolderSummary *s)
 {
 	struct _folder_summary_free_msg *m;
-	CamelSession *session = ((CamelService *)((CamelFolder *)s->folder)->parent_store)->session;
+	CamelSession *session;
+	
+	if (!s->folder)
+		return FALSE;
+
+	session = ((CamelService *)((CamelFolder *)s->folder)->parent_store)->session;
 
 	if (time(NULL) - s->cache_load_time < SUMMARY_CACHE_DROP)
 		return TRUE;

Modified: trunk/camel/camel-folder.c
==============================================================================
--- trunk/camel/camel-folder.c	(original)
+++ trunk/camel/camel-folder.c	Tue Aug  5 16:32:49 2008
@@ -198,8 +198,10 @@
 	if (camel_folder->parent_store)
 		camel_object_unref (camel_folder->parent_store);
 
-	if (camel_folder->summary)
+	if (camel_folder->summary) {
+		camel_folder->summary->folder = NULL;
 		camel_object_unref (camel_folder->summary);
+	}
 
 	camel_folder_change_info_free(p->changed_frozen);
 



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