aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@src.gnome.org>2006-04-22 03:43:24 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2006-04-22 03:43:24 +0800
commit940383d6760233b3c265abcfbc843ed6e036e845 (patch)
tree5a4876976788dc55cf169b4f980abd00a4ec5623 /mail
parent4900743e0d9b494e26e9c18df1ec4dbcb39b67ac (diff)
downloadgsoc2013-evolution-940383d6760233b3c265abcfbc843ed6e036e845.tar.gz
gsoc2013-evolution-940383d6760233b3c265abcfbc843ed6e036e845.tar.zst
gsoc2013-evolution-940383d6760233b3c265abcfbc843ed6e036e845.zip
Added code to create image attachment's icon in non-gui thread.
svn path=/trunk/; revision=31859
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/em-format-html-display.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index fb340f1499..a7d92febd6 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-22 Srinivasa Ragavan <sragavan@novell.com>
+
+ * em-format-html-display.c: (efhd_attachment_button),
+ (efhd_format_attachment): Added code to create image cache of image
+ attachment in the ethread instead of main thread to avoid gui lockup.
+
2006-04-21 Sankar P <psankar@novell.com>
* mail-mt.c: (do_op_status):
diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c
index 6ebf316d54..3a18ad28ab 100644
--- a/mail/em-format-html-display.c
+++ b/mail/em-format-html-display.c
@@ -166,6 +166,9 @@ struct _attach_puri {
CamelStream *output;
unsigned int shown:1;
+ /* Attachment */
+ EAttachment *attachment;
+
/* image stuff */
int fit_width;
int fit_height;
@@ -1552,7 +1555,7 @@ efhd_attachment_button(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObje
if (efhd->priv->attachment_bar) {
file = camel_mime_part_get_filename(info->puri.part);
- new = e_attachment_new_from_mime_part (info->puri.part);
+ new = info->attachment;
if (!file) {
file = "attachment.dat";
@@ -2141,6 +2144,8 @@ efhd_format_attachment(EMFormat *emf, CamelStream *stream, CamelMimePart *part,
info->handle = handle;
info->shown = em_format_is_inline(emf, info->puri.part_id, info->puri.part, handle);
info->snoop_mime_type = emf->snoop_mime_type;
+ info->attachment = e_attachment_new_from_mime_part (info->puri.part);
+ e_attachment_bar_create_attachment_cache (info->attachment);
if (emf->valid) {
info->sign = emf->valid->sign.status;