From 2f0d83cf74b94d5e6272c07179df6e6c7a929789 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 4 Dec 2012 16:45:44 -0500 Subject: EMailFormatterContext: Keep a reference to EMailPartList. Replace the individual components of an EMailPartList with a reference on the EMailPartList itself in EMailFormatContext. Easier to manage. --- modules/vcard-inline/e-mail-formatter-vcard-inline.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'modules/vcard-inline') diff --git a/modules/vcard-inline/e-mail-formatter-vcard-inline.c b/modules/vcard-inline/e-mail-formatter-vcard-inline.c index 1abb4289cc..a0091e985f 100644 --- a/modules/vcard-inline/e-mail-formatter-vcard-inline.c +++ b/modules/vcard-inline/e-mail-formatter-vcard-inline.c @@ -89,6 +89,8 @@ emfe_vcard_inline_format (EMailFormatterExtension *extension, vcard_part->formatter, contact, stream, cancellable); } else { + CamelFolder *folder; + const gchar *message_uid; gchar *str, *uri; gint length; const gchar *label = NULL; @@ -100,14 +102,17 @@ emfe_vcard_inline_format (EMailFormatterExtension *extension, if (length < 1) return FALSE; - if (!vcard_part->message_uid && context->message_uid) - vcard_part->message_uid = g_strdup (context->message_uid); + folder = context->part_list->folder; + message_uid = context->part_list->message_uid; - if (!vcard_part->folder && context->folder) - vcard_part->folder = g_object_ref (context->folder); + if (vcard_part->message_uid == NULL && message_uid != NULL) + vcard_part->message_uid = g_strdup (message_uid); + + if (vcard_part->folder == NULL && folder != NULL) + vcard_part->folder = g_object_ref (folder); uri = e_mail_part_build_uri ( - context->folder, context->message_uid, + folder, message_uid, "part_id", G_TYPE_STRING, part->id, "mode", G_TYPE_INT, E_MAIL_FORMATTER_MODE_RAW, NULL); -- cgit v1.2.3