Fixed small memory leak and possible "delete NULL".

This commit is contained in:
Shamus Young 2009-05-06 11:19:05 +00:00
parent 8a41cecf01
commit d23e5feac6
2 changed files with 5 additions and 8 deletions

View File

@ -36,7 +36,7 @@ CMesh::CMesh ()
_fan_count = 0; _fan_count = 0;
_cube_count = 0; _cube_count = 0;
_polycount = 0; _polycount = 0;
_list = 0; _list = glGenLists(1);
_compiled = false; _compiled = false;
_vertex = NULL; _vertex = NULL;
_normal = NULL; _normal = NULL;
@ -66,10 +66,12 @@ CMesh::~CMesh ()
free (_cube); free (_cube);
for (i = 0; i < _quad_strip_count; i++) for (i = 0; i < _quad_strip_count; i++)
delete _quad_strip[i].index_list; delete _quad_strip[i].index_list;
delete _quad_strip; if (_quad_strip)
delete _quad_strip;
for (i = 0; i < _fan_count; i++) for (i = 0; i < _fan_count; i++)
delete _fan[i].index_list; delete _fan[i].index_list;
delete _fan; if (_fan)
delete _fan;
if (_list) if (_list)
glDeleteLists (_list, 1); glDeleteLists (_list, 1);
@ -206,8 +208,6 @@ void CMesh::Render ()
void CMesh::Compile () void CMesh::Compile ()
{ {
if (!_list)
_list = glGenLists(1);
glNewList (_list, GL_COMPILE); glNewList (_list, GL_COMPILE);
Render (); Render ();
glEndList(); glEndList();

3
Mesh.h
View File

@ -38,9 +38,6 @@ public:
fan* _fan; fan* _fan;
bool _compiled; bool _compiled;
//void TriangleRender (unsigned n);
//GLtriangle* TriangleAdd (unsigned v1, int unsigned, int unsigned);
//GLtriangle* TriangleAdd (GLtriangle c);
void NormalAdd (GLvector n); void NormalAdd (GLvector n);
void VertexAdd (GLvertex v); void VertexAdd (GLvertex v);
int VertexCount () { return _vertex_count; } int VertexCount () { return _vertex_count; }