diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-01-26 05:10:02 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-01-26 05:10:02 +0300 |
commit | 22afe88882e88b15df06a2b5ce3c596d31dd6365 (patch) | |
tree | a4f4f84570b0a3a38a7f4399e39deca875d1eb49 /source/blender/editors/mesh | |
parent | 19b1b45d715e9c9bb20df77b02dd2943f28cd157 (diff) |
Fix navmesh creation w/ multiple objects
D2976 by @dertom
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r-- | source/blender/editors/mesh/mesh_navmesh.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/editors/mesh/mesh_navmesh.c b/source/blender/editors/mesh/mesh_navmesh.c index b95921964eb..740d18951dc 100644 --- a/source/blender/editors/mesh/mesh_navmesh.c +++ b/source/blender/editors/mesh/mesh_navmesh.c @@ -72,7 +72,7 @@ static void createVertsTrisData(bContext *C, LinkNode *obs, LinkNode *oblink, *dmlink; DerivedMesh *dm; Scene *scene = CTX_data_scene(C); - LinkNode *dms = NULL; + LinkNodePair dms_pair = {NULL,NULL}; int nverts, ntris, *tris; float *verts; @@ -85,7 +85,7 @@ static void createVertsTrisData(bContext *C, LinkNode *obs, ob = (Object *) oblink->link; dm = mesh_create_derived_no_virtual(scene, ob, NULL, CD_MASK_MESH); DM_ensure_tessface(dm); - BLI_linklist_prepend(&dms, dm); + BLI_linklist_append(&dms_pair, dm); nverts += dm->getNumVerts(dm); nfaces = dm->getNumTessFaces(dm); @@ -101,6 +101,7 @@ static void createVertsTrisData(bContext *C, LinkNode *obs, *r_lay |= ob->lay; } + LinkNode *dms = dms_pair.list; /* create data */ verts = MEM_mallocN(sizeof(float) * 3 * nverts, "createVertsTrisData verts"); |