diff --git a/qbsp/surfaces.cc b/qbsp/surfaces.cc index 4d431589..9b2f045e 100644 --- a/qbsp/surfaces.cc +++ b/qbsp/surfaces.cc @@ -116,6 +116,14 @@ void SubdivideFace(face_t *f, face_t **prevptr) } } +static void FreeNode(node_t* node) +{ + if (node->markfaces) { + delete node->markfaces; + } + delete node; +} + /* ============================================================================= GatherNodeFaces @@ -143,7 +151,7 @@ static void GatherNodeFaces_r(node_t *node, std::map &planefaces) GatherNodeFaces_r(node->children[0], planefaces); GatherNodeFaces_r(node->children[1], planefaces); } - delete node; + FreeNode(node); } /*