diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-06-11 21:00:03 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-06-11 22:34:21 +0300 |
commit | 3816502b7ca0728405d8dff8d074e3189740648a (patch) | |
tree | 65c13d1440f93b3ffcd868cc5968b9dc6455ce0c /source/blender/blenkernel/intern/anim_sys.c | |
parent | 2bbe0c4ef43adb7437a9318fce3d41b36f07f013 (diff) |
Drivers: ensure Python expressions are cached with copy-on-write.
Store the compiled expressions on the original driver.
Ref T55442.
Diffstat (limited to 'source/blender/blenkernel/intern/anim_sys.c')
-rw-r--r-- | source/blender/blenkernel/intern/anim_sys.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index e5a68fa7476..0867170611f 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -3017,7 +3017,7 @@ void BKE_animsys_eval_driver(Depsgraph *depsgraph, PathResolvedRNA anim_rna; if (animsys_store_rna_setting(&id_ptr, NULL, fcu->rna_path, fcu->array_index, &anim_rna)) { const float ctime = DEG_get_ctime(depsgraph); - const float curval = calculate_fcurve(&anim_rna, fcu, ctime); + const float curval = evaluate_fcurve_driver(&anim_rna, fcu, driver_orig, ctime); ok = animsys_write_rna_setting(&anim_rna, curval); if (ok && DEG_is_active(depsgraph)) { animsys_write_orig_anim_rna(&id_ptr, NULL, fcu, curval); |