From e82bab5323c61583a4ecbbc6107ba9d38eb6aa78 Mon Sep 17 00:00:00 2001 From: glx Date: Sun, 18 May 2008 12:47:08 +0000 Subject: [PATCH] (svn r13161) -Fix: free the blitter list when the last blitter is removed. --- src/blitter/factory.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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.