diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-06-15 10:55:03 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-06-15 11:21:41 +0800 |
commit | 5b1742b202ca9505ccd818918b4afe82fc61b63b (patch) | |
tree | 6653da03ad3e8139e938e79ed3571c5fea4c818a /mail/e-mail-browser.c | |
parent | cf669f10f22de13ab4ee9b323d274325af22b0b9 (diff) | |
download | gsoc2013-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.c | 37 |
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 |