aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/renderer/MCHTMLRenderer.cpp12
-rw-r--r--src/objc/abstract/MCOAbstractMessageRendererCallback.mm4
2 files changed, 10 insertions, 6 deletions
diff --git a/src/core/renderer/MCHTMLRenderer.cpp b/src/core/renderer/MCHTMLRenderer.cpp
index 71454a0e..7d03f650 100644
--- a/src/core/renderer/MCHTMLRenderer.cpp
+++ b/src/core/renderer/MCHTMLRenderer.cpp
@@ -328,17 +328,21 @@ String * htmlForAbstractSinglePart(AbstractPart * part, htmlRendererContext * co
String * htmlForAbstractMessagePart(AbstractMessagePart * part, htmlRendererContext * context)
{
- String * substring = htmlForAbstractPart(part->mainPart(), context);
if (context->pass == 0) {
return NULL;
}
+ String * substring = htmlForAbstractPart(part->mainPart(), context);
MCAssert(substring != NULL);
- String * result = String::string();
HashMap * values = context->htmlCallback->templateValuesForHeader(part->header());
String * headerString = renderTemplate(context->htmlCallback->templateForEmbeddedMessageHeader(), values);
- result->appendString(headerString);
- result->appendString(substring);
+
+ HashMap * msgValues = new HashMap();
+ msgValues->setObjectForKey(MCSTR("HEADER"), headerString);
+ msgValues->setObjectForKey(MCSTR("BODY"), substring);
+ String * result = renderTemplate(context->htmlCallback->templateForEmbeddedMessage(), msgValues);
+ msgValues->release();
+
return result;
}
diff --git a/src/objc/abstract/MCOAbstractMessageRendererCallback.mm b/src/objc/abstract/MCOAbstractMessageRendererCallback.mm
index 8905acf5..883cb25f 100644
--- a/src/objc/abstract/MCOAbstractMessageRendererCallback.mm
+++ b/src/objc/abstract/MCOAbstractMessageRendererCallback.mm
@@ -104,7 +104,7 @@ mailcore::String * MCOAbstractMessageRendererCallback::templateForEmbeddedMessag
{
mailcore::String * result = NULL;
if ([mRendererDelegate respondsToSelector:@selector(MCOAbstractMessage_templateForEmbeddedMessage:)]) {
- return MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessage:mMessage]);
+ result = MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessage:mMessage]);
}
if (result == NULL) {
result = mailcore::HTMLRendererTemplateCallback::templateForEmbeddedMessage();
@@ -116,7 +116,7 @@ mailcore::String * MCOAbstractMessageRendererCallback::templateForEmbeddedMessag
{
mailcore::String * result = NULL;
if ([mRendererDelegate respondsToSelector:@selector(MCOAbstractMessage_templateForEmbeddedMessageHeader:)]) {
- return MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessageHeader:mMessage]);
+ result = MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessageHeader:mMessage]);
}
if (result == NULL) {
result = mailcore::HTMLRendererTemplateCallback::templateForEmbeddedMessageHeader();