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
This commit is contained in:
@@ -1242,7 +1242,7 @@ static void object_pose_tag_update(Main *bmain, Object *ob)
|
||||
* Note that this is a bit wide here, since we cannot be sure whether there are some locked proxy bones
|
||||
* or not...
|
||||
* XXX Temp hack until new depsgraph hopefully solves this. */
|
||||
ob->adt->recalc |= ADT_RECALC_ANIM;
|
||||
DEG_id_tag_update(&ob->id, ID_RECALC_ANIMATION);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1856,7 +1856,7 @@ static int constraint_add_exec(bContext *C, wmOperator *op, Object *ob, ListBase
|
||||
/* We need to make use of ugly POSE_ANIMATION_WORKAROUND here too, else anim data are not reloaded
|
||||
* after calling `BKE_pose_rebuild()`, which causes T43872.
|
||||
* XXX Temp hack until new depsgraph hopefully solves this. */
|
||||
ob->adt->recalc |= ADT_RECALC_ANIM;
|
||||
DEG_id_tag_update(&ob->id, ID_RECALC_ANIMATION);
|
||||
}
|
||||
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY | ID_RECALC_TRANSFORM);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user