diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-10-30 14:19:30 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-10-30 14:19:30 +0400 |
commit | a12d0fc8366d459d386f005e8b97bfdb72ea2f26 (patch) | |
tree | b316bd3d3ffc4ebe6494e71925437ca59aefca33 /source/blender/modifiers | |
parent | 210915e3c722a04920eaa18e2faad793189659c6 (diff) |
Fix for [#24409] Particle corruption after rendering with multires
* Also removed some unused flags from the particle modifier.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_particlesystem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 9d99174b7c4..cd56bd3c8bc 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -154,6 +154,10 @@ static void deformVerts(ModifierData *md, Object *ob, psmd->dm->needsFree = 1; psmd->dm->release(psmd->dm); } + else { + /* no dm before, so recalc particles fully */ + psys->recalc |= PSYS_RECALC_RESET; + } /* make new dm */ psmd->dm=CDDM_copy(dm); @@ -175,7 +179,6 @@ static void deformVerts(ModifierData *md, Object *ob, /* in file read dm hasn't really changed but just wasn't saved in file */ psys->recalc |= PSYS_RECALC_RESET; - psmd->flag |= eParticleSystemFlag_DM_changed; psmd->totdmvert= psmd->dm->getNumVerts(psmd->dm); psmd->totdmedge= psmd->dm->getNumEdges(psmd->dm); @@ -186,7 +189,6 @@ static void deformVerts(ModifierData *md, Object *ob, psmd->flag &= ~eParticleSystemFlag_psys_updated; particle_system_update(md->scene, ob, psys); psmd->flag |= eParticleSystemFlag_psys_updated; - psmd->flag &= ~eParticleSystemFlag_DM_changed; } } |