From ade2129f14dbc7a7e60b9fcde7381a5ab53b0035 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 17 Oct 2019 16:15:34 +0200 Subject: Fix T70901: Pose bone with Armature Constraint moves in wrong direction A regression since previous fix for proxy. Restore old code for copying values to an original pose channel. --- source/blender/blenkernel/intern/armature_update.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/armature_update.c') diff --git a/source/blender/blenkernel/intern/armature_update.c b/source/blender/blenkernel/intern/armature_update.c index 7c68c8319a5..e30accf6279 100644 --- a/source/blender/blenkernel/intern/armature_update.c +++ b/source/blender/blenkernel/intern/armature_update.c @@ -740,7 +740,12 @@ static void pose_channel_flush_to_orig_if_needed(struct Depsgraph *depsgraph, return; } bPoseChannel *pchan_orig = pchan->orig_pchan; - BKE_pose_copy_pchan_result(pchan_orig, pchan); + /* TODO(sergey): Using BKE_pose_copy_pchan_result() introduces T70901, but why? */ + copy_m4_m4(pchan_orig->pose_mat, pchan->pose_mat); + copy_m4_m4(pchan_orig->chan_mat, pchan->chan_mat); + copy_v3_v3(pchan_orig->pose_head, pchan->pose_mat[3]); + copy_m4_m4(pchan_orig->constinv, pchan->constinv); + copy_v3_v3(pchan_orig->pose_tail, pchan->pose_tail); } void BKE_pose_bone_done(struct Depsgraph *depsgraph, struct Object *object, int pchan_index) -- cgit v1.2.3