diff options
author | Chenthill Palanisamy <pchenthill@novell.com> | 2009-12-28 21:12:28 +0800 |
---|---|---|
committer | Chenthill Palanisamy <pchenthill@novell.com> | 2009-12-28 21:14:09 +0800 |
commit | 6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0 (patch) | |
tree | 8dc7acf0ca7bff50ece62f1c95db2493deb15a23 /mail | |
parent | 32bc83c91d575d7258252a9c532309e8e9015d84 (diff) | |
download | gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.tar gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.tar.gz gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.tar.bz2 gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.tar.lz gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.tar.xz gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.tar.zst gsoc2013-evolution-6a72dacb7db51cd0f6b84e9aefd248677c0ff4e0.zip |
Bug 361145 - Evolution hangs when formatting message - fixes part of it.
Diffstat (limited to 'mail')
-rw-r--r-- | mail/e-mail-backend.c | 2 | ||||
-rw-r--r-- | mail/em-format-html-display.c | 19 | ||||
-rw-r--r-- | mail/mail-session.c | 3 |
3 files changed, 20 insertions, 4 deletions
diff --git a/mail/e-mail-backend.c b/mail/e-mail-backend.c index 65633da097..4ab444027f 100644 --- a/mail/e-mail-backend.c +++ b/mail/e-mail-backend.c @@ -342,7 +342,7 @@ mail_backend_folder_changed_cb (MailFolderCache *folder_cache, gint flags = 0; if (!mail_folder_cache_get_folder_from_uri (folder_cache, folder_uri, &folder)) - if (!mail_folder_cache_get_folder_info_flags (folder_cache, folder, &flags)) + if (folder && !mail_folder_cache_get_folder_info_flags (folder_cache, folder, &flags)) g_return_if_reached (); target = em_event_target_new_folder ( diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c index c795929091..9228aec472 100644 --- a/mail/em-format-html-display.c +++ b/mail/em-format-html-display.c @@ -799,10 +799,24 @@ efhd_attachment_button(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObje EAttachment *attachment; GtkWidget *widget; gpointer parent; + EMFormat *emf = (EMFormat *) efh; + CamelMessageInfo *mi = NULL; + CamelMessageContentInfo *ci = NULL; + GFileInfo *fileinfo; + guint32 size; /* FIXME: handle default shown case */ d(printf("adding attachment button/content\n")); + mi = camel_folder_summary_uid (emf->folder->summary, emf->uid); + ci = camel_folder_summary_guess_content_info (mi, ((CamelDataWrapper *)pobject->part)->mime_type); + if (ci) { + size = ci->size; + /* what if its not encoded in base64 ? is it a case to consider? */ + if (ci->encoding && !g_ascii_strcasecmp (ci->encoding, "base64")) + size = size/1.37; + } + info = (struct _attach_puri *)em_format_find_puri((EMFormat *)efh, pobject->classid); if (!info || info->forward) { @@ -828,6 +842,11 @@ efhd_attachment_button(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObje e_attachment_load_async ( info->attachment, (GAsyncReadyCallback) e_attachment_load_handle_error, parent); + if (size != 0) { + fileinfo = e_attachment_get_file_info (info->attachment); + g_file_info_set_size (fileinfo, size); + e_attachment_set_file_info (info->attachment, fileinfo); + } widget = e_attachment_button_new (view); e_attachment_button_set_attachment ( diff --git a/mail/mail-session.c b/mail/mail-session.c index a5cd5a6ed7..0341b5f050 100644 --- a/mail/mail-session.c +++ b/mail/mail-session.c @@ -432,9 +432,6 @@ alert_user(CamelSession *session, CamelSessionAlertType type, const gchar *promp struct _user_message_msg *m; gboolean result = TRUE; - if (!mail_session->interactive) - return FALSE; - m = mail_msg_new (&user_message_info); m->ismain = mail_in_main_thread (); m->type = type; |