aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-browser.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-06-15 10:55:03 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-06-15 11:21:41 +0800
commit5b1742b202ca9505ccd818918b4afe82fc61b63b (patch)
tree6653da03ad3e8139e938e79ed3571c5fea4c818a /mail/e-mail-browser.c
parentcf669f10f22de13ab4ee9b323d274325af22b0b9 (diff)
downloadgsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.tar
gsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.tar.gz
gsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.tar.bz2
gsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.tar.lz
gsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.tar.xz
gsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.tar.zst
gsoc2013-evolution-5b1742b202ca9505ccd818918b4afe82fc61b63b.zip
Add e_mail_reader_ref_folder().
Replaces e_mail_reader_get_folder().
Diffstat (limited to 'mail/e-mail-browser.c')
-rw-r--r--mail/e-mail-browser.c37
1 files changed, 22 insertions, 15 deletions
diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c
index 8c5e4bb1fd..2df99d618e 100644
--- a/mail/e-mail-browser.c
+++ b/mail/e-mail-browser.c
@@ -262,8 +262,6 @@ mail_browser_message_selected_cb (EMailBrowser *browser,
CamelMessageInfo *info;
CamelFolder *folder;
EMailReader *reader;
- EMailDisplay *display;
- const gchar *title;
guint32 state;
reader = E_MAIL_READER (browser);
@@ -273,24 +271,30 @@ mail_browser_message_selected_cb (EMailBrowser *browser,
if (uid == NULL)
return;
- folder = e_mail_reader_get_folder (reader);
- display = e_mail_reader_get_mail_display (reader);
+ folder = e_mail_reader_ref_folder (reader);
info = camel_folder_get_message_info (folder, uid);
- if (info == NULL)
- return;
+ if (info != NULL) {
+ EMailDisplay *display;
+ const gchar *title;
+
+ display = e_mail_reader_get_mail_display (reader);
- title = camel_message_info_subject (info);
- if (title == NULL || *title == '\0')
- title = _("(No Subject)");
+ title = camel_message_info_subject (info);
+ if (title == NULL || *title == '\0')
+ title = _("(No Subject)");
- gtk_window_set_title (GTK_WINDOW (browser), title);
- gtk_widget_grab_focus (GTK_WIDGET (display));
+ gtk_window_set_title (GTK_WINDOW (browser), title);
+ gtk_widget_grab_focus (GTK_WIDGET (display));
- camel_message_info_set_flags (
- info, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN);
- camel_folder_free_message_info (folder, info);
+ camel_message_info_set_flags (
+ info, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN);
+
+ camel_folder_free_message_info (folder, info);
+ }
+
+ g_clear_object (&folder);
}
static gboolean
@@ -851,7 +855,8 @@ mail_browser_set_message (EMailReader *reader,
return;
}
- folder = e_mail_reader_get_folder (reader);
+ folder = e_mail_reader_ref_folder (reader);
+
info = camel_folder_get_message_info (folder, uid);
if (info != NULL) {
@@ -860,6 +865,8 @@ mail_browser_set_message (EMailReader *reader,
camel_message_info_subject (info));
camel_folder_free_message_info (folder, info);
}
+
+ g_clear_object (&folder);
}
static void