Skip to content
Snippets Groups Projects
Commit 629fe7b4 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

Fixed very small memory leak (should not leak any byte anymore,
according to memprof!)
parent f531f96e
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* GL2PS, an OpenGL to PostScript Printing Library * GL2PS, an OpenGL to PostScript Printing Library
* Copyright (C) 1999-2002 Christophe Geuzaine * Copyright (C) 1999-2002 Christophe Geuzaine
* *
* $Id: gl2ps.cpp,v 1.56 2003-01-22 02:35:47 geuzaine Exp $ * $Id: gl2ps.cpp,v 1.57 2003-01-22 04:08:49 geuzaine Exp $
* *
* E-mail: geuz@geuz.org * E-mail: geuz@geuz.org
* URL: http://www.geuz.org/gl2ps/ * URL: http://www.geuz.org/gl2ps/
...@@ -515,18 +515,22 @@ void gl2psAddPrimitiveInList(GL2PSprimitive *prim, GL2PSlist *list){ ...@@ -515,18 +515,22 @@ void gl2psAddPrimitiveInList(GL2PSprimitive *prim, GL2PSlist *list){
} }
void gl2psFreeBspTree(GL2PSbsptree *tree){ void gl2psFreeBspTree(GL2PSbsptree **tree){
if(tree->back){ if(*tree){
gl2psFreeBspTree(tree->back); if((*tree)->back){
gl2psFree(tree->back); gl2psFreeBspTree(&(*tree)->back);
gl2psFree((*tree)->back);
}
if((*tree)->primitives){
gl2psListAction((*tree)->primitives, gl2psFreePrimitive);
gl2psListDelete((*tree)->primitives);
} }
if(tree->primitives){ if((*tree)->front){
gl2psListAction(tree->primitives, gl2psFreePrimitive); gl2psFreeBspTree(&(*tree)->front);
gl2psListDelete(tree->primitives); gl2psFree((*tree)->front);
} }
if(tree->front){ gl2psFree(*tree);
gl2psFreeBspTree(tree->front); *tree = NULL;
gl2psFree(tree->front);
} }
} }
...@@ -1727,7 +1731,7 @@ GL2PSDLL_API GLint gl2psEndPage(void){ ...@@ -1727,7 +1731,7 @@ GL2PSDLL_API GLint gl2psEndPage(void){
} }
gl2psTraverseBspTree(root, eye, (float)GL2PS_EPSILON, gl2psGreater, gl2psTraverseBspTree(root, eye, (float)GL2PS_EPSILON, gl2psGreater,
pprim); pprim);
gl2psFreeBspTree(root); gl2psFreeBspTree(&root);
res = GL2PS_SUCCESS; res = GL2PS_SUCCESS;
break; break;
default : default :
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment