diff --git a/src/blitter/factory.hpp b/src/blitter/factory.hpp index e991ed8d6e..bd0a6daa86 100644 --- a/src/blitter/factory.hpp +++ b/src/blitter/factory.hpp @@ -56,7 +56,13 @@ public: name(NULL) {} - virtual ~BlitterFactoryBase() { if (this->name != NULL) GetBlitters().erase(this->name); free(this->name); } + virtual ~BlitterFactoryBase() + { + if (this->name == NULL) return; + GetBlitters().erase(this->name); + if (GetBlitters().empty()) delete &GetBlitters(); + free(this->name); + } /** * Find the requested blitter and return his class.