diff --git a/source/glest_game/main/main.cpp b/source/glest_game/main/main.cpp index 11044393..ae1f9875 100644 --- a/source/glest_game/main/main.cpp +++ b/source/glest_game/main/main.cpp @@ -34,6 +34,7 @@ #include #include "sound_renderer.h" #include "font_gl.h" +#include "FileReader.h" #include "cache_manager.h" // For gcc backtrace on crash! diff --git a/source/glest_game/type_instances/unit.cpp b/source/glest_game/type_instances/unit.cpp index c65d0e91..195a46e5 100644 --- a/source/glest_game/type_instances/unit.cpp +++ b/source/glest_game/type_instances/unit.cpp @@ -43,6 +43,12 @@ UnitPathBasic::UnitPathBasic() { this->lastPathCacheQueue.clear(); } +UnitPathBasic::~UnitPathBasic() { + this->blockCount = 0; + this->pathQueue.clear(); + this->lastPathCacheQueue.clear(); +} + bool UnitPathBasic::isEmpty() const { return pathQueue.empty(); } diff --git a/source/glest_game/type_instances/unit.h b/source/glest_game/type_instances/unit.h index eb0b508e..d174d281 100644 --- a/source/glest_game/type_instances/unit.h +++ b/source/glest_game/type_instances/unit.h @@ -133,6 +133,7 @@ private: public: UnitPathBasic(); + virtual ~UnitPathBasic(); virtual bool isBlocked() const; virtual bool isEmpty() const; virtual bool isStuck() const; diff --git a/source/shared_lib/include/graphics/FileReader.h b/source/shared_lib/include/graphics/FileReader.h index d025adf6..12baf387 100644 --- a/source/shared_lib/include/graphics/FileReader.h +++ b/source/shared_lib/include/graphics/FileReader.h @@ -135,9 +135,6 @@ public: virtual T* read(ifstream& file, const string& path, T* former) const = 0; virtual ~FileReader() { - /*for (typename vector const * >::const_iterator i = fileReaders.begin(); i != fileReaders.end(); ++i) { - delete const_cast* >(*i); //Segfault - }*/ }; //Well ... these objects aren't supposed to be destroyed };