Removed an unnecessary memory allocation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
diff --git a/include/FTOutlineGlyph.h b/include/FTOutlineGlyph.h
index d5b9ec8..40a34a1 100644
--- a/include/FTOutlineGlyph.h
+++ b/include/FTOutlineGlyph.h
@@ -59,11 +59,6 @@ class FTGL_EXPORT FTOutlineGlyph : public FTGlyph
int numContours;
/**
- * An array containing the number of points in each outline
- */
- int* contourLength;
-
- /**
* Pointer to the point data
*/
FTGL_DOUBLE* data;
diff --git a/src/FTOutlineGlyph.cpp b/src/FTOutlineGlyph.cpp
index fffb9e0..8bc4ea1 100644
--- a/src/FTOutlineGlyph.cpp
+++ b/src/FTOutlineGlyph.cpp
@@ -7,7 +7,6 @@ FTOutlineGlyph::FTOutlineGlyph( FT_Glyph glyph)
vectoriser(0),
numPoints(0),
numContours(0),
- contourLength(0),
data(0),
glList(0)
{
@@ -32,34 +31,27 @@ FTOutlineGlyph::FTOutlineGlyph( FT_Glyph glyph)
return;
}
- contourLength = new int[ numContours];
- for( int cn = 0; cn < numContours; ++cn)
- {
- contourLength[cn] = vectoriser->contourSize( cn);
- }
-
data = new FTGL_DOUBLE[ numPoints * 3];
vectoriser->GetOutline( data);
- delete vectoriser;
-
int d = 0;
glList = glGenLists(1);
glNewList( glList, GL_COMPILE);
for( int c = 0; c < numContours; ++c)
{
glBegin( GL_LINE_LOOP);
- for( int p = 0; p < contourLength[c]; ++p)
- {
- glVertex2dv( data + d);
- d += 3;
- }
+ int contourLength = vectoriser->contourSize( c);
+ for( int p = 0; p < contourLength; ++p)
+ {
+ glVertex2dv( data + d);
+ d += 3;
+ }
glEnd();
}
glEndList();
+ delete vectoriser;
delete [] data; // FIXME
- delete [] contourLength; // FIXME
// discard glyph image (bitmap or not)
FT_Done_Glyph( glyph); // Why does this have to be HERE