From cc9b898f07b3f750b910cfea73c0e223984f7cad Mon Sep 17 00:00:00 2001 From: Paul Young Date: Tue, 2 Jul 2013 23:39:35 -0400 Subject: Fixed memory leaks. * Allocating in constructor and assigning to ivars. * Returning ivars in methods. * Releasing ivars in destructor. --- src/core/renderer/MCMessageRendererHelper.cpp | 16 ++++++++++++++-- src/core/renderer/MCMessageRendererHelper.h | 8 ++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/core/renderer/MCMessageRendererHelper.cpp b/src/core/renderer/MCMessageRendererHelper.cpp index 81e9e38a..bd4a1745 100644 --- a/src/core/renderer/MCMessageRendererHelper.cpp +++ b/src/core/renderer/MCMessageRendererHelper.cpp @@ -10,12 +10,24 @@ using namespace mailcore; +MessageRendererHelper::MessageRendererHelper() +{ + mDataCallback = new HTMLRendererIMAPCallback(); + mHtmlCallback = new HTMLBodyRendererTemplateCallback(); +} + +MessageRendererHelper::~MessageRendererHelper() +{ + MC_SAFE_RELEASE(mDataCallback); + MC_SAFE_RELEASE(mHtmlCallback); +} + HTMLRendererIMAPCallback * MessageRendererHelper::dataCallback() { - return new HTMLRendererIMAPCallback(); + return mDataCallback; } HTMLBodyRendererTemplateCallback * MessageRendererHelper::htmlBodyCallback() { - return new HTMLBodyRendererTemplateCallback(); + return mHtmlCallback; } diff --git a/src/core/renderer/MCMessageRendererHelper.h b/src/core/renderer/MCMessageRendererHelper.h index fb666613..716c91a2 100644 --- a/src/core/renderer/MCMessageRendererHelper.h +++ b/src/core/renderer/MCMessageRendererHelper.h @@ -11,6 +11,7 @@ #define __MAILCORE_MCMESSAGERENDERERHELPER_H_ #include "MCHTMLRendererCallback.h" +#include "MCHTMLBodyRendererCallback.h" #include "MCIMAPSession.h" #ifdef __cplusplus @@ -19,8 +20,15 @@ namespace mailcore { class MessageRendererHelper { public: + MessageRendererHelper(); + ~MessageRendererHelper(); + virtual HTMLRendererIMAPCallback * dataCallback(); virtual HTMLBodyRendererTemplateCallback * htmlBodyCallback(); + + private: + HTMLRendererIMAPCallback * mDataCallback; + HTMLBodyRendererTemplateCallback * mHtmlCallback; }; } -- cgit v1.2.3