diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2012-12-05 21:19:04 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2012-12-08 03:01:04 +0800 |
commit | 91822b42dc7b5eb64cad2626f9fc620a2ee6a2c8 (patch) | |
tree | 1c06f36fa153eee0779cdfa1be1a24f62e93787d /em-format/e-mail-formatter-quote-attachment.c | |
parent | 2f0d83cf74b94d5e6272c07179df6e6c7a929789 (diff) | |
download | gsoc2013-evolution-91822b42dc7b5eb64cad2626f9fc620a2ee6a2c8.tar.gz gsoc2013-evolution-91822b42dc7b5eb64cad2626f9fc620a2ee6a2c8.tar.zst gsoc2013-evolution-91822b42dc7b5eb64cad2626f9fc620a2ee6a2c8.zip |
Make EMailPartList thread-safe.
Exposing data members in the public struct is unwise, especially when
EMailPartList is used from multiple threads. Instead keep the members
private and provide a set of thread-safe functions to manipulate them.
Diffstat (limited to 'em-format/e-mail-formatter-quote-attachment.c')
-rw-r--r-- | em-format/e-mail-formatter-quote-attachment.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/em-format/e-mail-formatter-quote-attachment.c b/em-format/e-mail-formatter-quote-attachment.c index 5f88d97bff..822c93fc2b 100644 --- a/em-format/e-mail-formatter-quote-attachment.c +++ b/em-format/e-mail-formatter-quote-attachment.c @@ -71,21 +71,18 @@ emfqe_attachment_format (EMailFormatterExtension *extension, gchar *text, *html; guint32 text_format_flags; EMailPartAttachment *empa; - EMailPart *att_part; - GSList *iter; + EMailPart *attachment_view_part; empa = E_MAIL_PART_ATTACHMENT (part); if (!empa->attachment_view_part_id) return FALSE; - iter = e_mail_part_list_get_iter ( - context->part_list->list, empa->attachment_view_part_id); - if (!iter || !iter->data) + attachment_view_part = e_mail_part_list_ref_part ( + context->part_list, empa->attachment_view_part_id); + if (attachment_view_part == NULL) return FALSE; - att_part = iter->data; - camel_stream_write_string (stream, "<br><br>", cancellable, NULL); text_format_flags = @@ -110,7 +107,8 @@ emfqe_attachment_format (EMailFormatterExtension *extension, "<blockquote type=cite>\n", cancellable, NULL); e_mail_formatter_format_as ( - formatter, context, att_part, stream, NULL, cancellable); + formatter, context, attachment_view_part, + stream, NULL, cancellable); camel_stream_write_string ( stream, @@ -118,6 +116,8 @@ emfqe_attachment_format (EMailFormatterExtension *extension, "<DATA class=\"ClueFlow\" clear=\"orig\">-->", cancellable, NULL); + e_mail_part_unref (attachment_view_part); + return TRUE; } |