diff options
Diffstat (limited to 'source/blender/blenkernel/intern/object_update.c')
-rw-r--r-- | source/blender/blenkernel/intern/object_update.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index c1c6268924a..6ac3f624355 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -163,6 +163,7 @@ void BKE_object_handle_data_update(EvaluationContext *eval_ctx, ID *data_id = (ID *)ob->data; AnimData *adt = BKE_animdata_from_id(data_id); Key *key; + ParticleSystem *psys; float ctime = BKE_scene_frame_get(scene); if (G.debug & G_DEBUG_DEPSGRAPH) @@ -181,6 +182,12 @@ void BKE_object_handle_data_update(EvaluationContext *eval_ctx, if (!(ob->shapeflag & OB_SHAPE_LOCK)) BKE_animsys_evaluate_animdata(scene, &key->id, key->adt, ctime, ADT_RECALC_DRIVERS); } + for (psys = ob->particlesystem.first; psys; psys = psys->next) { + key = psys->key; + if (key && key->block.first) { + BKE_animsys_evaluate_animdata(scene, &key->id, key->adt, ctime, ADT_RECALC_DRIVERS); + } + } /* includes all keys and modifiers */ switch (ob->type) { |