diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-29 13:59:17 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-31 14:04:57 +0300 |
commit | 83f8f44791374dd051728e44d89fbdeee15c60aa (patch) | |
tree | addcd6991adfcf578bec05b022875c98509deda9 /source/blender/depsgraph/intern | |
parent | 7400aa7e595063510ce9f29fa1b02ebd3f9296e2 (diff) |
Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.
This removes a bunch of animation/driver evaluations and recalc flags that
should be redundant in the new depsgraph, and were incorrectly affecting
the evaluated scene in a permanent way.
Still two cases that could be removed if the depsgraph is improved, in
BKE_object_handle_data_update and BKE_cachefile_update_frame.
For physics subframe interpolation there are also still calls to
BKE_object_where_is_calc that should ideally be removed as well, though
they are not known to cause keyframing bugs.
Differential Revision: https://developer.blender.org/D4274
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder.cc | 6 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc | 7 |
2 files changed, 0 insertions, 13 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder.cc b/source/blender/depsgraph/intern/builder/deg_builder.cc index ab3ca9f70cf..10369cb295a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder.cc @@ -132,12 +132,6 @@ void deg_graph_build_finalize(Main *bmain, Depsgraph *graph) ID *id = id_node->id_orig; id_node->finalize_build(graph); int flag = 0; - if ((id->recalc & ID_RECALC_ALL)) { - AnimData *adt = BKE_animdata_from_id(id); - if (adt != NULL && (adt->recalc & ADT_RECALC_ANIM) != 0) { - flag |= ID_RECALC_ANIMATION; - } - } /* Tag rebuild if special evaluation flags changed. */ if (id_node->eval_flags != id_node->previous_eval_flags) { flag |= ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY; diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc index 8c349b7067f..083153185dd 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc @@ -166,13 +166,6 @@ void DepsgraphNodeBuilder::build_rig(Object *object, bool is_object_visible) if (object->pose == NULL || (object->pose->flag & POSE_RECALC)) { /* By definition, no need to tag depsgraph as dirty from here, so we can pass NULL bmain. */ BKE_pose_rebuild(NULL, object, armature, true); - /* XXX: Without this animation gets lost in certain circumstances - * after loading file. Need to investigate further since it does - * not happen with simple scenes.. - */ - if (object->adt) { - object->adt->recalc |= ADT_RECALC_ANIM; - } } /* Speed optimization for animation lookups. */ if (object->pose != NULL) { |