diff options
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/particle_system.c | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index b61074d9a94..9ad59574fa3 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -111,6 +111,14 @@ static int cdDM_getNumEdges(DerivedMesh *dm) static int cdDM_getNumTessFaces(DerivedMesh *dm) { + /* uncomment and add a breakpoint on the printf() + * to help debug tessfaces issues since BMESH merge. */ +#if 0 + if (dm->numTessFaceData == 0 && dm->numPolyData != 0) { + printf("%s: has no faces!, call DM_ensure_tessface() if you need them\n"); + } +#endif + return dm->numTessFaceData; } diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index e48495bcc44..8d12460b71b 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -4425,6 +4425,10 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys) if(!sim.psmd->dm) return; + if (part->from != PART_FROM_VERT) { + DM_ensure_tessface(sim.psmd->dm); + } + /* execute drivers only, as animation has already been done */ BKE_animsys_evaluate_animdata(scene, &part->id, part->adt, cfra, ADT_RECALC_DRIVERS); |