aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-06-15 01:45:08 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-06-15 11:21:40 +0800
commit9c4500a9b5b030e6fb2b8c02e518254d94c10add (patch)
tree72e5c5e0c50bb93b6d4c4fb683f78e235f8a744f /modules
parent169c9aea03c1ba03d327af2a4f0fb8bb3aabd593 (diff)
downloadgsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.tar
gsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.tar.gz
gsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.tar.bz2
gsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.tar.lz
gsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.tar.xz
gsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.tar.zst
gsoc2013-evolution-9c4500a9b5b030e6fb2b8c02e518254d94c10add.zip
MessageList: Add a "folder" property.
Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
Diffstat (limited to 'modules')
-rw-r--r--modules/mail/e-mail-shell-view-private.c13
1 files changed, 7 insertions, 6 deletions
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);