[evolution-patches] fix for bug #40074 (and the newer #42170)



http://bugzilla.ximian.com/show_bug.cgi?id=40074

http://bugzilla.ximian.com/show_bug.cgi?id=42170

same bug...

hand edited this patch to remove prior patches sent to this list
earlier... so if it doesn't apply cleanly, that'd be why. anyways,
fairly simple changes, so it should be trivial enough to add this by
hand to your sources if you want to test it out.

Jeff

-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj ximian com  - www.ximian.com
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.2711
diff -u -r1.2711 ChangeLog
--- ChangeLog	30 Apr 2003 03:08:46 -0000	1.2711
+++ ChangeLog	30 Apr 2003 21:51:03 -0000
@@ -1,3 +1,9 @@
+2003-04-30  Jeffrey Stedfast  <fejj ximian com>
+
+	* message-list.c (regen_list_regened): Save the tree state before
+	we tear down the tree and then load it back again. yay. Fixes bug
+	#42170 and #40074.
+
 2003-04-29  Jeremy Katz  <katzj redhat com>
 
 	* folder-browser-ui.c (fbui_sensitise_item): Don't just blindly
Index: message-list.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/message-list.c,v
retrieving revision 1.338
diff -u -r1.338 message-list.c
--- message-list.c	29 Apr 2003 18:18:36 -0000	1.338
+++ message-list.c	30 Apr 2003 21:51:04 -0000
@@ -1214,6 +1214,19 @@
 	g_free(filename);
 }
 
+static void
+load_tree_state (MessageList *ml)
+{
+	char *filename;
+	
+	if (ml->folder == NULL || ml->tree == NULL)
+		return;
+	
+	filename = mail_config_folder_to_cachename (ml->folder, "et-expanded-");
+	e_tree_load_expanded_state (ml->tree, filename);
+	g_free (filename);
+}
+
 
 void
 message_list_save_state (MessageList *ml)
@@ -2768,11 +2770,15 @@
 		return;
 
 	if (m->dotree) {
+		save_tree_state (m->ml);
+		
 		build_tree (m->ml, m->tree, m->changes);
 		if (m->ml->thread_tree)
 			camel_folder_thread_messages_unref(m->ml->thread_tree);
 		m->ml->thread_tree = m->tree;
 		m->tree = NULL;
+		
+		load_tree_state (m->ml);
 	} else
 		build_flat (m->ml, m->summary, m->changes);
 


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