diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-10-18 19:54:24 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-10-18 19:54:24 +0400 |
commit | d3eb9dddd6b49c7977e9fb3cc39f5e621e51fa9f (patch) | |
tree | 5517c27f658fe58db84ef9df16ac541e55a59cab /source/blender/modifiers/intern/MOD_particlesystem.c | |
parent | 497ea5f306a802a3f7aaddd1300d29613eba64af (diff) |
Better fix for #32846. Instead of using time change or object recalc condition, set an explicit object flag to disable particle system modifier update during dupli list creation. This is more transparent and should prevent issues with hair path generation being skipped.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_particlesystem.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_particlesystem.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index c4db9375a4a..6d6c1361566 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -190,12 +190,7 @@ static void deformVerts(ModifierData *md, Object *ob, psmd->totdmface = psmd->dm->getNumTessFaces(psmd->dm); } - /* skip the particle update if no timestep is performed or initialization required. - * XXX this is a workaround for bug #32846, which is caused by modifier updates - * during dupli-list generation (in cycles). The dupli-list generation can temporarily change - * the ob->obmat matrix, which in turn leads to wrong particle states if used for reset ... - */ - if (psys->cfra != cfra || psys->recalc) { + if (!(ob->transflag & OB_NO_PSYS_UPDATE)) { psmd->flag &= ~eParticleSystemFlag_psys_updated; particle_system_update(md->scene, ob, psys); psmd->flag |= eParticleSystemFlag_psys_updated; |