Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-06-07 12:25:13 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-06-07 12:31:56 +0300
commita54235e0c6345faed6b7f709039ff6efa64d2549 (patch)
tree84ca1b5a2c6d0eb4a41e12c16e9c3aface1faea0 /source/blender/blenkernel/intern/particle_system.c
parent613faa0987817c82156d1ce2a65516392173b600 (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.c12
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;