aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog10
-rw-r--r--mail/folder-browser-factory.c3
-rw-r--r--mail/message-list.c8
-rw-r--r--mail/message-list.h2
4 files changed, 23 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 1b1bac282f..4a461578b6 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,15 @@
2003-03-26 Jeffrey Stedfast <fejj@ximian.com>
+ Fixes bug #40074.
+
+ * folder-browser-factory.c (control_deactivate): Save message-list
+ state.
+
+ * message-list.c (message_list_save_state): Save the various
+ states.
+
+2003-03-26 Jeffrey Stedfast <fejj@ximian.com>
+
Fixes for bug #39870
* message-browser.c (transfer_msg_done): Close the
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index b8b1d2a304..9f35b88db8 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -132,6 +132,9 @@ control_deactivate (BonoboControl *control,
if (fb->folder)
mail_sync_folder (fb->folder, NULL, NULL);
+ if (fb->message_list)
+ message_list_save_state (fb->message_list);
+
folder_browser_set_ui_component (fb, NULL);
folder_browser_set_shell_view (fb, CORBA_OBJECT_NIL);
diff --git a/mail/message-list.c b/mail/message-list.c
index d5c61ff554..bbe2b4fdb5 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -1207,6 +1207,14 @@ save_tree_state(MessageList *ml)
g_free(filename);
}
+
+void
+message_list_save_state (MessageList *ml)
+{
+ save_tree_state (ml);
+ hide_save_state (ml);
+}
+
static void
message_list_setup_etree (MessageList *message_list, gboolean outgoing)
{
diff --git a/mail/message-list.h b/mail/message-list.h
index 78af58644d..de2ddc199f 100644
--- a/mail/message-list.h
+++ b/mail/message-list.h
@@ -158,6 +158,8 @@ void message_list_set_threaded(MessageList *ml, gboolean threaded);
void message_list_set_hidedeleted(MessageList *ml, gboolean hidedeleted);
void message_list_set_search(MessageList *ml, const char *search);
+void message_list_save_state (MessageList *ml);
+
#define MESSAGE_LIST_LOCK(m, l) g_mutex_lock(((MessageList *)m)->l)
#define MESSAGE_LIST_UNLOCK(m, l) g_mutex_unlock(((MessageList *)m)->l)