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:
Diffstat (limited to 'source/blender/blenkernel/intern/object_update.c')
-rw-r--r--source/blender/blenkernel/intern/object_update.c15
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);