Fixed anjo's freeing issues & hopefully padding works

This commit is contained in:
Bart van Strien
2010-08-26 17:25:34 +02:00
parent 6c456ea93b
commit b3799b52e6
2 changed files with 20 additions and 16 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ Section: games
Priority: optional
Architecture: %ARCHITECTURE%
Essential: no
Depends: libdevil1c2, libfreetype6, libgl1-mesa-glx, liblua5.1-0, libphysfs-1.0-0, libsdl1.2debian, libopenal1, libogg0, libvorbis0a, libvorbisfile3, libmodplug0c2, libmpg123-0
Depends: libdevil1c2, libfreetype6, libgl1-mesa-glx, liblua5.1-0, libphysfs1, libsdl1.2debian, libopenal1, libogg0, libvorbis0a, libvorbisfile3, libmodplug0c2, libmpg123-0
Installed-Size: %INSTALLSIZE%
Maintainer: Bart van Strien [bart.bes@gmail.com]
Provides: love
+8 -4
View File
@@ -20,22 +20,24 @@
#include "GlyphData.h"
#include <iostream>
namespace love
{
namespace font
{
GlyphData::GlyphData(unsigned short glyph, GlyphMetrics glyphMetrics, GlyphData::Format f)
: glyph(glyph), metrics(glyphMetrics), format(f), padded(false)
: glyph(glyph), metrics(glyphMetrics), format(f), padded(false), data(0)
{
if (getWidth() && getHeight()) {
if (metrics.width && metrics.height) {
switch (f) {
case GlyphData::FORMAT_LUMINOSITY_ALPHA:
data = new unsigned char[getWidth() * getHeight() * 2];
data = new unsigned char[metrics.width * metrics.height * 2];
break;
case GlyphData::FORMAT_RGBA:
default:
data = new unsigned char[getWidth() * getHeight() * 4];
data = new unsigned char[metrics.width * metrics.height * 4];
break;
}
}
@@ -117,6 +119,8 @@ namespace font
void GlyphData::pad()
{
if (data == 0)
return;
int w = getWidth();
int h = getHeight();
int pw = next_p2(w);