From 9c4500a9b5b030e6fb2b8c02e518254d94c10add Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 14 Jun 2013 13:45:08 -0400 Subject: MessageList: Add a "folder" property. Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder() --- modules/mail/e-mail-shell-view-private.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'modules/mail/e-mail-shell-view-private.c') diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index 54f4d581e4..aa9addf4a5 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -200,7 +200,7 @@ mail_shell_view_folder_tree_selection_done_cb (EMailShellView *mail_shell_view, EMailReader *reader; EMailView *mail_view; CamelFolder *folder; - gchar *list_uri; + gchar *list_uri = NULL; gchar *tree_uri; mail_shell_content = mail_shell_view->priv->mail_shell_content; @@ -216,16 +216,17 @@ mail_shell_view_folder_tree_selection_done_cb (EMailShellView *mail_shell_view, * method gets the folder from the message list is supposed to be * a hidden implementation detail, and we want to explicitly get * the folder URI from the message list here. */ - folder = MESSAGE_LIST (message_list)->folder; - if (folder) + folder = message_list_ref_folder (MESSAGE_LIST (message_list)); + if (folder != NULL) { list_uri = e_mail_folder_uri_from_folder (folder); - else - list_uri = NULL; + g_object_unref (folder); + } + tree_uri = em_folder_tree_get_selected_uri (folder_tree); /* If the folder tree and message list disagree on the current * folder, reset the folder tree to match the message list. */ - if (list_uri && g_strcmp0 (tree_uri, list_uri) != 0) + if (list_uri != NULL && g_strcmp0 (tree_uri, list_uri) != 0) em_folder_tree_set_selected (folder_tree, list_uri, FALSE); g_free (list_uri); -- cgit v1.2.3