diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2012-12-05 05:45:44 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2012-12-08 03:01:04 +0800 |
commit | 2f0d83cf74b94d5e6272c07179df6e6c7a929789 (patch) | |
tree | cf6b432d7992770ac8841f242cb487c2ac31a7fc /modules/vcard-inline | |
parent | 13f4544dafe211a748b064b86a8af4085d042b2b (diff) | |
download | gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.tar gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.tar.gz gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.tar.bz2 gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.tar.lz gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.tar.xz gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.tar.zst gsoc2013-evolution-2f0d83cf74b94d5e6272c07179df6e6c7a929789.zip |
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.
Diffstat (limited to 'modules/vcard-inline')
-rw-r--r-- | modules/vcard-inline/e-mail-formatter-vcard-inline.c | 15 |
1 files changed, 10 insertions, 5 deletions
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); |