diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-20 05:33:24 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-20 05:33:24 +0400 |
commit | deea1f38b1ec0ccba283abeb63506cbc15e093d5 (patch) | |
tree | e68b4f80eef7a228e169ec19e57ffa2034c8b892 /source/blender/blenkernel/intern/cdderivedmesh.c | |
parent | fcd5550a4248e00bbfb739352718d211b73259df (diff) |
real fix for booleans and face shading this time.
CDDM_tessfaces_to_faces wasbt updating the polyindex (missed incrementing the polyindex pointer).
also added an assert so non release builds will complain when CDDM_calc_edges_tessface() needs to run before CDDM_tessfaces_to_faces().
Diffstat (limited to 'source/blender/blenkernel/intern/cdderivedmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index c33e50cccc9..94741ec3b78 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -2581,6 +2581,15 @@ void CDDM_tessfaces_to_faces(DerivedMesh *dm) #if 0 /* ensure we have all the edges we need */ CDDM_calc_edges_tessface(dm); +#else +# ifndef NDEBUG + { + /* ensure we have correct edges on non release builds */ + i = cddm->dm.numEdgeData; + CDDM_calc_edges_tessface(dm); + BLI_assert(cddm->dm.numEdgeData == i); + } +# endif #endif /*build edge hash*/ @@ -2620,7 +2629,7 @@ void CDDM_tessfaces_to_faces(DerivedMesh *dm) mp = cddm->mpoly; ml = cddm->mloop; l = 0; - for (i=0; i<cddm->dm.numTessFaceData; i++, mf++, mp++) { + for (i=0; i<cddm->dm.numTessFaceData; i++, mf++, mp++, polyindex++) { mp->flag = mf->flag; mp->loopstart = l; mp->mat_nr = mf->mat_nr; |