From b0db9df701a1905ff8a337f0ae5384079fcba28d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 5 Feb 2012 07:09:30 +0000 Subject: [PATCH] fix for error in recent commit. passing totface rather then totpoly, also add asserts if PBVH attempts to build without any faces (but with polys). --- source/blender/blenkernel/intern/cdderivedmesh.c | 3 ++- source/blender/blenkernel/intern/subsurf_ccg.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 35d578b9d5e..15740076dc0 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -218,7 +218,7 @@ static ListBase *cdDM_getPolyMap(Object *ob, DerivedMesh *dm) create_vert_poly_map(&cddm->pmap, &cddm->pmap_mem, me->mpoly, me->mloop, - me->totvert, me->totface, me->totloop); + me->totvert, me->totpoly, me->totloop); } return cddm->pmap; @@ -284,6 +284,7 @@ static struct PBVH *cdDM_getPBVH(Object *ob, DerivedMesh *dm) Mesh *me= ob->data; cddm->pbvh = BLI_pbvh_new(); cddm->pbvh_draw = can_pbvh_draw(ob, dm); + BLI_assert(!(me->mface == NULL && me->mpoly != NULL)); /* BMESH ONLY complain if mpoly is valid but not mface */ BLI_pbvh_build_mesh(cddm->pbvh, me->mface, me->mvert, me->totface, me->totvert); diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index a32d19addf9..36178481419 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -2747,7 +2747,7 @@ static ListBase *ccgDM_getPolyMap(Object *ob, DerivedMesh *dm) create_vert_poly_map(&ccgdm->pmap, &ccgdm->pmap_mem, me->mpoly, me->mloop, - me->totvert, me->totface, me->totloop); + me->totvert, me->totpoly, me->totloop); } return ccgdm->pmap; @@ -2825,6 +2825,7 @@ static struct PBVH *ccgDM_getPBVH(Object *ob, DerivedMesh *dm) } else if(ob->type == OB_MESH) { Mesh *me= ob->data; ob->sculpt->pbvh= ccgdm->pbvh = BLI_pbvh_new(); + BLI_assert(!(me->mface == NULL && me->mpoly != NULL)); /* BMESH ONLY complain if mpoly is valid but not mface */ BLI_pbvh_build_mesh(ccgdm->pbvh, me->mface, me->mvert, me->totface, me->totvert); }