diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2016-01-06 23:22:01 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2016-01-06 23:22:01 +0300 |
commit | be28706bacfb95e7c3c1b58b183acda0e35977f8 (patch) | |
tree | 3b7d5c70e147110c75af3a51e16186f8d251a5c3 /source/blender/blenkernel/intern/particle.c | |
parent | f286df75c099b3ff4bf2b53fc58730c5c6faa362 (diff) |
Proper fix for memleaks when rendering partsys from edit mode...
Diffstat (limited to 'source/blender/blenkernel/intern/particle.c')
-rw-r--r-- | source/blender/blenkernel/intern/particle.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index 39f0e7cbb84..1fedf38ff47 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -702,7 +702,12 @@ void psys_render_restore(Scene *scene, Object *ob, ParticleSystem *psys) if (psmd->dm_final) { if (!psmd->dm_final->deformedOnly) { - psmd->dm_deformed = CDDM_copy(mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH | CD_MASK_MFACE)); + if (ob->derivedDeform) { + psmd->dm_deformed = CDDM_copy(ob->derivedDeform); + } + else { + psmd->dm_deformed = CDDM_from_mesh((Mesh *)ob->data); + } DM_ensure_tessface(psmd->dm_deformed); } psys_calc_dmcache(ob, psmd->dm_final, psmd->dm_deformed, psys); |