aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-folder-tree.c')
-rw-r--r--mail/em-folder-tree.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index aac98704c1..ef8b486a1b 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -319,6 +319,12 @@ em_folder_tree_destroy (GtkObject *obj)
priv->loading_row_id = 0;
}
+ if (priv->save_state_id != 0) {
+ em_folder_tree_save_state (emft);
+ g_source_remove (priv->save_state_id);
+ priv->save_state_id = 0;
+ }
+
priv->treeview = NULL;
priv->model = NULL;
@@ -1663,17 +1669,14 @@ em_folder_tree_get_model (EMFolderTree *emft)
}
-static void
+static gboolean
em_folder_tree_save_state (EMFolderTree *emft)
{
struct _EMFolderTreePrivate *priv = emft->priv;
-
- if (priv->save_state_id != 0) {
- g_source_remove (priv->save_state_id);
- priv->save_state_id = 0;
- }
-
+
em_folder_tree_model_save_expanded (priv->model);
+
+ return FALSE
}