From c6d257f328992e5e1c383d0bdff118f34aa48668 Mon Sep 17 00:00:00 2001 From: AlexVinS Date: Tue, 30 Aug 2016 09:46:01 +0300 Subject: [PATCH] Fixed CQuest leak --- lib/mapObjects/CQuest.cpp | 11 +++++++++++ lib/mapObjects/CQuest.h | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/mapObjects/CQuest.cpp b/lib/mapObjects/CQuest.cpp index 645ae95f5..4290a9368 100644 --- a/lib/mapObjects/CQuest.cpp +++ b/lib/mapObjects/CQuest.cpp @@ -490,6 +490,17 @@ void CQuest::addReplacements(MetaString &out, const std::string &base) const } } +IQuestObject::IQuestObject(): + quest(new CQuest()) +{ + +} + +IQuestObject::~IQuestObject() +{ + delete quest; +} + bool IQuestObject::checkQuest(const CGHeroInstance* h) const { return quest->checkQuest(h); diff --git a/lib/mapObjects/CQuest.h b/lib/mapObjects/CQuest.h index 1cfaf2ebc..0b83cb293 100644 --- a/lib/mapObjects/CQuest.h +++ b/lib/mapObjects/CQuest.h @@ -87,8 +87,8 @@ class DLL_LINKAGE IQuestObject public: CQuest * quest; - IQuestObject(): quest(new CQuest()){}; - virtual ~IQuestObject() {}; + IQuestObject(); + virtual ~IQuestObject(); virtual void getVisitText (MetaString &text, std::vector &components, bool isCustom, bool FirstVisit, const CGHeroInstance * h = nullptr) const; virtual bool checkQuest (const CGHeroInstance * h) const;