diff --git a/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp b/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp index ad16bc21..f5e6f00d 100644 --- a/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp @@ -317,7 +317,13 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, const int ncid = rcGetChunksOverlappingRect( m_chunkyMesh, tbmin, tbmax, cid, 512 ); if( !ncid ) + { + rcFreeHeightField( m_solid ); + m_solid = nullptr; + delete[] m_triareas; + m_triareas = nullptr; return nullptr; + } m_tileTriCount = 0; @@ -452,6 +458,10 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, if( m_cset->nconts == 0 ) { + rcFreeCompactHeightfield( m_chf ); + rcFreeContourSet( m_cset ); + m_chf = nullptr; + m_cset = nullptr; return nullptr; }