diff options
Diffstat (limited to 'source/blender/blenkernel/intern/object_update.c')
-rw-r--r-- | source/blender/blenkernel/intern/object_update.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index 5a25880a7d1..1b071785684 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -158,22 +158,13 @@ void BKE_object_handle_data_update( Scene *scene, Object *ob) { - ID *data_id = (ID *)ob->data; - AnimData *adt = BKE_animdata_from_id(data_id); - Key *key; float ctime = BKE_scene_frame_get(scene); DEG_debug_print_eval(depsgraph, __func__, ob->id.name, ob); - /* TODO(sergey): Only used by legacy depsgraph. */ - if (adt) { - /* evaluate drivers - datalevel */ - /* XXX: for mesh types, should we push this to evaluated mesh instead? */ - BKE_animsys_evaluate_animdata(depsgraph, scene, data_id, adt, ctime, ADT_RECALC_DRIVERS); - } - - /* TODO(sergey): Only used by legacy depsgraph. */ - key = BKE_key_from_object(ob); + /* TODO: only here to evaluate drivers twice to fix dependency graph + * not handling shape key values that depend on each other. */ + Key *key = BKE_key_from_object(ob); if (key && key->block.first) { if (!(ob->shapeflag & OB_SHAPE_LOCK)) BKE_animsys_evaluate_animdata(depsgraph, scene, &key->id, key->adt, ctime, ADT_RECALC_DRIVERS); |