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;