diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-07 12:25:13 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-07 12:31:56 +0300 |
commit | a54235e0c6345faed6b7f709039ff6efa64d2549 (patch) | |
tree | 84ca1b5a2c6d0eb4a41e12c16e9c3aface1faea0 /source/blender/blenkernel/intern/particle_system.c | |
parent | 613faa0987817c82156d1ce2a65516392173b600 (diff) |
Particle mode: Support children drawing
The issue is that children drawing is done by object mode,
which operates with data from evaluated context. But that
data needs edit mode's cache to be properly updated first.
Diffstat (limited to 'source/blender/blenkernel/intern/particle_system.c')
-rw-r--r-- | source/blender/blenkernel/intern/particle_system.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index a2d9891ec2d..8d6991ff9f4 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -4217,6 +4217,18 @@ void particle_system_update(struct Depsgraph *depsgraph, Scene *scene, Object *o if (!psys_check_enabled(ob, psys, use_render_params)) return; + if (DEG_is_active(depsgraph)) { + if (psys->orig_psys != NULL && psys->orig_psys->edit != NULL) { + psys_cache_edit_paths( + depsgraph, + (Scene *)DEG_get_original_id(&scene->id), + DEG_get_original_object(ob), + psys->orig_psys->edit, + DEG_get_ctime(depsgraph), + DEG_get_mode(depsgraph) == DAG_EVAL_RENDER); + } + } + cfra = DEG_get_ctime(depsgraph); sim.depsgraph = depsgraph; |