Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-09-23 14:58:20 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-09-23 14:58:20 +0400
commit161c3861bc09d3e666d4c73d35da85e024fe779f (patch)
tree4bcb6ce4b9fc7820690f2e2330093d8168f2ba6f /source/gameengine
parent460cde345bd7779f7dc011b7154c7497be46d799 (diff)
parent9d1b4b63b33b77505f4399a4db4f462f5b1fd1eb (diff)
svn merge ^/trunk/blender -r40395:40405
Diffstat (limited to 'source/gameengine')
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_ghost.cpp4
-rw-r--r--source/gameengine/Ketsji/KX_NavMeshObject.cpp19
2 files changed, 20 insertions, 3 deletions
diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
index eee27ca0790..726a1d4119a 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
@@ -998,7 +998,11 @@ int main(int argc, char** argv)
// Cleanup
RNA_exit();
BLF_exit();
+
+#ifdef INTERNATIONAL
BLF_free_unifont();
+#endif
+
IMB_exit();
free_nodesystem();
diff --git a/source/gameengine/Ketsji/KX_NavMeshObject.cpp b/source/gameengine/Ketsji/KX_NavMeshObject.cpp
index f72c98fb4bf..5747d8641d0 100644
--- a/source/gameengine/Ketsji/KX_NavMeshObject.cpp
+++ b/source/gameengine/Ketsji/KX_NavMeshObject.cpp
@@ -26,6 +26,8 @@
* ***** END GPL LICENSE BLOCK *****
*/
+#include "MEM_guardedalloc.h"
+
#include "BLI_math_vector.h"
#include "KX_NavMeshObject.h"
#include "RAS_MeshObject.h"
@@ -117,8 +119,12 @@ bool KX_NavMeshObject::BuildVertIndArrays(float *&vertices, int& nverts,
int *dtrisToPolysMap=NULL, *dtrisToTrisMap=NULL, *trisToFacesMap=NULL;
int nAllVerts = 0;
float *allVerts = NULL;
- buildNavMeshDataByDerivedMesh(dm, vertsPerPoly, nAllVerts, allVerts, ndtris, dtris,
- npolys, dmeshes, polys, dtrisToPolysMap, dtrisToTrisMap, trisToFacesMap);
+ buildNavMeshDataByDerivedMesh(dm, &vertsPerPoly, &nAllVerts, &allVerts, &ndtris, &dtris,
+ &npolys, &dmeshes, &polys, &dtrisToPolysMap, &dtrisToTrisMap, &trisToFacesMap);
+
+ MEM_freeN(dtrisToPolysMap);
+ MEM_freeN(dtrisToTrisMap);
+ MEM_freeN(trisToFacesMap);
unsigned short *verticesMap = new unsigned short[nAllVerts];
memset(verticesMap, 0xffff, sizeof(unsigned short)*nAllVerts);
@@ -207,6 +213,8 @@ bool KX_NavMeshObject::BuildVertIndArrays(float *&vertices, int& nverts,
}
}
}
+
+ MEM_freeN(allVerts);
}
else
{
@@ -445,7 +453,12 @@ bool KX_NavMeshObject::BuildNavMesh()
m_navMesh->init(data, dataSize, true);
delete [] vertices;
- delete [] polys;
+
+ /* navmesh conversion is using C guarded alloc for memory allocaitons */
+ MEM_freeN(polys);
+ if (dmeshes) MEM_freeN(dmeshes);
+ if (dtris) MEM_freeN(dtris);
+
if (dvertices)
{
delete [] dvertices;