From 22afe88882e88b15df06a2b5ce3c596d31dd6365 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 26 Jan 2018 13:10:02 +1100 Subject: Fix navmesh creation w/ multiple objects D2976 by @dertom --- source/blender/editors/mesh/mesh_navmesh.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/mesh') 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"); -- cgit v1.2.3