aboutsummaryrefslogtreecommitdiffstats
path: root/modules/vcard-inline
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-12-05 05:45:44 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-12-08 03:01:04 +0800
commit2f0d83cf74b94d5e6272c07179df6e6c7a929789 (patch)
treecf6b432d7992770ac8841f242cb487c2ac31a7fc /modules/vcard-inline
parent13f4544dafe211a748b064b86a8af4085d042b2b (diff)
downloadgsoc2013-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.c15
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);