Quest information must remain accessible even if map object removed. Fix issue 2472
@@ -498,7 +498,9 @@ IQuestObject::IQuestObject():
IQuestObject::~IQuestObject()
{
- delete quest;
+ ///Information about quest should remain accessible even if IQuestObject removed from map
+ ///All CQuest objects are freed in CMap destructor
+ //delete quest;
}
bool IQuestObject::checkQuest(const CGHeroInstance* h) const
@@ -245,6 +245,9 @@ CMap::~CMap()
for(auto obj : objects)
obj.dellNull();
+
+ for(auto quest : quests)
+ quest.dellNull();
void CMap::removeBlockVisTiles(CGObjectInstance * obj, bool total)