evolution-data-server r9767 - trunk/camel



Author: sragavan
Date: Wed Nov 19 05:16:35 2008
New Revision: 9767
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9767&view=rev

Log:
2008-11-19  Srinivasa Ragavan  <sragavan novell com>

	** Fix for bug #558883

	* camel/camel-db.c: Remove the redundant transaction lock.




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

Modified: trunk/camel/camel-folder-summary.c
==============================================================================
--- trunk/camel/camel-folder-summary.c	(original)
+++ trunk/camel/camel-folder-summary.c	Wed Nov 19 05:16:35 2008
@@ -2078,25 +2078,24 @@
 void
 camel_folder_summary_clear(CamelFolderSummary *s)
 {
-#if 0
-	int i;
+	d(printf ("\ncamel_folder_summary_clearcalled \n"));
+	s->flags &= ~CAMEL_SUMMARY_DIRTY;
 
 	CAMEL_SUMMARY_LOCK(s, summary_lock);
 	if (camel_folder_summary_count(s) == 0) {
 		CAMEL_SUMMARY_UNLOCK(s, summary_lock);
 		return;
 	}
+	
+	g_ptr_array_foreach (s->uids, (GFunc) camel_pstring_free, NULL);
+	g_ptr_array_free (s->uids, TRUE);
+	s->uids = g_ptr_array_new ();
+	s->visible_count = s->deleted_count = s->unread_count = 0;
 
-	for (i=0;i<s->messages->len;i++)
-		camel_message_info_free(s->messages->pdata[i]);
+	g_hash_table_destroy(s->loaded_infos);
+	s->loaded_infos = g_hash_table_new(g_str_hash, g_str_equal);
 
-	g_ptr_array_set_size(s->messages, 0);
-	g_hash_table_destroy(s->messages_uid);
-	s->messages_uid = g_hash_table_new(g_str_hash, g_str_equal);
-	s->flags |= CAMEL_SUMMARY_DIRTY;
-	s->meta_summary->msg_expunged = TRUE;
 	CAMEL_SUMMARY_UNLOCK(s, summary_lock);
-#endif	
 }
 
 /* FIXME: This is non-sense. Neither an exception is passed,

Modified: trunk/camel/camel-vee-folder.c
==============================================================================
--- trunk/camel/camel-vee-folder.c	(original)
+++ trunk/camel/camel-vee-folder.c	Wed Nov 19 05:16:35 2008
@@ -2065,8 +2065,16 @@
 	}
 
 	/* Recreate the table when the query changes, only if we are not setting it first */
-	if (vf->expression)
+	if (vf->expression) {
+		CamelFolderSummary *s = ((CamelFolder *)vf)->summary;
+		camel_folder_summary_clear (s);
 		camel_db_recreate_vfolder (((CamelFolder *) vf)->parent_store->cdb_w, ((CamelFolder *) vf)->full_name, NULL);
+		s->junk_count = 0;
+		s->deleted_count = 0; 
+		s->unread_count = 0;
+		s->visible_count = 0;
+		s->junk_not_deleted_count = 0;
+	}
 
 
 	g_free(vf->expression);



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