[Bf-blender-cvs] [ade2129f14d] blender-v2.81-release: Fix T70901: Pose bone with Armature Constraint moves in wrong direction

Sergey Sharybin noreply at git.blender.org
Thu Oct 17 16:20:19 CEST 2019


Commit: ade2129f14dbc7a7e60b9fcde7381a5ab53b0035
Author: Sergey Sharybin
Date:   Thu Oct 17 16:15:34 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rBade2129f14dbc7a7e60b9fcde7381a5ab53b0035

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.

===================================================================

M	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)



More information about the Bf-blender-cvs mailing list