diff options
-rw-r--r-- | src/core/renderer/MCHTMLRenderer.cpp | 12 | ||||
-rw-r--r-- | src/objc/abstract/MCOAbstractMessageRendererCallback.mm | 4 |
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(); |