From 7e318cc9b22625592bb979641823d28a4ce148cb Mon Sep 17 00:00:00 2001 From: Bart van Strien Date: Sat, 18 Sep 2010 20:22:29 +0200 Subject: [PATCH] Let's hope I finally smashed those mem leaks --- src/modules/font/FontData.cpp | 23 +++++++++++++---------- src/modules/graphics/opengl/Font.cpp | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/modules/font/FontData.cpp b/src/modules/font/FontData.cpp index e5f9eeb14..fb5dd4ba3 100644 --- a/src/modules/font/FontData.cpp +++ b/src/modules/font/FontData.cpp @@ -1,14 +1,14 @@ /** * Copyright (c) 2006-2010 LOVE Development Team -* +* * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. -* +* * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: -* +* * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be @@ -25,7 +25,7 @@ namespace love { namespace font { - + FontData::FontData(Rasterizer * raster) : raster(raster) { @@ -34,12 +34,15 @@ namespace font data[i] = raster->getGlyphData(i); } } - + FontData::~FontData() { + for (unsigned int i = 0; i < MAX_CHARS; i++) { + data[i]->release(); + } delete[] data; } - + void * FontData::getData() const { return (void *)data; @@ -49,16 +52,16 @@ namespace font { return MAX_CHARS; } - + GlyphData * FontData::getGlyphData(unsigned short glyph) const { return data[glyph]; } - + int FontData::getHeight() const { return raster->getHeight(); } - + } // font -} // love \ No newline at end of file +} // love diff --git a/src/modules/graphics/opengl/Font.cpp b/src/modules/graphics/opengl/Font.cpp index c16f470a9..fad7da6e8 100644 --- a/src/modules/graphics/opengl/Font.cpp +++ b/src/modules/graphics/opengl/Font.cpp @@ -50,7 +50,7 @@ namespace opengl { for(unsigned int i = 0; i < MAX_CHARS; i++) { - delete glyphs[i]; + glyphs[i]->release(); } delete[] glyphs; }