diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-06-23 00:53:49 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-06-23 00:54:35 +0300 |
commit | 29448bd99bb05ae61e4d540981026bab87702f90 (patch) | |
tree | ce5797a238562438cfb28832be7197af2f3ee654 /source/blender/render | |
parent | 7547c6a250cd6f36c9894605b822380a1261febf (diff) |
Fix T48658: Cycles render & render preview corrupts particles
Replaces `G.is_rendering` with `use_render_params` argument.
This is needed for Cycles, which attempts to restore render-preview settings from particles,
after it gets its own particle data, but fails to restore because
`G.is_rendering` was being checked in psys_cache_paths (and other places).
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/pointdensity.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index b6ee88de290..8c847773d75 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -1330,7 +1330,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem part=psys->part; pars=psys->particles; - if (part==NULL || pars==NULL || !psys_check_enabled(ob, psys)) + if (part==NULL || pars==NULL || !psys_check_enabled(ob, psys, G.is_rendering)) return 0; if (part->ren_as==PART_DRAW_OB || part->ren_as==PART_DRAW_GR || part->ren_as==PART_DRAW_NOT) @@ -4697,7 +4697,7 @@ static void add_render_object(Render *re, Object *ob, Object *par, DupliObject * if (ob->particlesystem.first) { psysindex= 1; for (psys=ob->particlesystem.first; psys; psys=psys->next, psysindex++) { - if (!psys_check_enabled(ob, psys)) + if (!psys_check_enabled(ob, psys, G.is_rendering)) continue; obr= RE_addRenderObject(re, ob, par, index, psysindex, ob->lay); diff --git a/source/blender/render/intern/source/pointdensity.c b/source/blender/render/intern/source/pointdensity.c index 59aaad661c9..e4da4302efe 100644 --- a/source/blender/render/intern/source/pointdensity.c +++ b/source/blender/render/intern/source/pointdensity.c @@ -211,7 +211,7 @@ static void pointdensity_cache_psys(Scene *scene, CD_MASK_BAREMESH | CD_MASK_MTFACE | CD_MASK_MCOL); } - if (!psys_check_enabled(ob, psys)) { + if (!psys_check_enabled(ob, psys, use_render_params)) { psys_render_restore(ob, psys); return; } |