aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-paned-view.c
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 /mail/e-mail-paned-view.c
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 'mail/e-mail-paned-view.c')
-rw-r--r--mail/e-mail-paned-view.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/mail/e-mail-paned-view.c b/mail/e-mail-paned-view.c
index 9f39347973..440c83b624 100644
--- a/mail/e-mail-paned-view.c
+++ b/mail/e-mail-paned-view.c
@@ -126,10 +126,13 @@ mail_paned_view_message_list_built_cb (EMailView *view,
EMailPanedViewPrivate *priv;
EShellView *shell_view;
EShellWindow *shell_window;
+ CamelFolder *folder;
GKeyFile *key_file;
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
+ folder = message_list_ref_folder (message_list);
+
g_signal_handler_disconnect (
message_list, priv->message_list_built_id);
priv->message_list_built_id = 0;
@@ -142,20 +145,18 @@ mail_paned_view_message_list_built_cb (EMailView *view,
if (message_list->cursor_uid != NULL)
; /* do nothing */
- else if (message_list->folder == NULL)
+ else if (folder == NULL)
; /* do nothing */
else if (e_shell_window_get_safe_mode (shell_window))
e_shell_window_set_safe_mode (shell_window, FALSE);
else {
- CamelFolder *folder;
const gchar *key;
gchar *folder_uri;
gchar *group_name;
gchar *uid;
- folder = message_list->folder;
folder_uri = e_mail_folder_uri_from_folder (folder);
key = STATE_KEY_SELECTED_MESSAGE;
@@ -170,6 +171,8 @@ mail_paned_view_message_list_built_cb (EMailView *view,
g_free (uid);
}
+
+ g_clear_object (&folder);
}
static void
@@ -184,7 +187,7 @@ mail_paned_view_message_selected_cb (EMailView *view,
gchar *folder_uri;
gchar *group_name;
- folder = message_list->folder;
+ folder = message_list_ref_folder (message_list);
/* This also gets triggered when selecting a store name on
* the sidebar such as "On This Computer", in which case
@@ -208,6 +211,8 @@ mail_paned_view_message_selected_cb (EMailView *view,
g_free (group_name);
g_free (folder_uri);
+
+ g_object_unref (folder);
}
static void