[Bf-blender-cvs] [95583a398c7] master: Fix T76717: Set Rotation Mode Incorrectly Recalculates Bone Rotation In Pose Mode

Sebastian Parborg noreply at git.blender.org
Wed May 13 16:29:45 CEST 2020


Commit: 95583a398c77ba9d8c15310b2b867adbdbafe908
Author: Sebastian Parborg
Date:   Wed May 13 16:27:05 2020 +0200
Branches: master
https://developer.blender.org/rB95583a398c77ba9d8c15310b2b867adbdbafe908

Fix T76717: Set Rotation Mode Incorrectly Recalculates Bone Rotation In Pose Mode

The issue was that we didn't convert the current rotational values.
We simply just switched mode without doing any data conversions.

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

M	source/blender/editors/armature/pose_edit.c

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

diff --git a/source/blender/editors/armature/pose_edit.c b/source/blender/editors/armature/pose_edit.c
index b86da6374be..daab945c106 100644
--- a/source/blender/editors/armature/pose_edit.c
+++ b/source/blender/editors/armature/pose_edit.c
@@ -665,6 +665,11 @@ static int pose_bone_rotmode_exec(bContext *C, wmOperator *op)
 
   /* set rotation mode of selected bones  */
   CTX_DATA_BEGIN_WITH_ID (C, bPoseChannel *, pchan, selected_pose_bones, Object *, ob) {
+    /* use API Method for conversions... */
+    BKE_rotMode_change_values(
+        pchan->quat, pchan->eul, pchan->rotAxis, &pchan->rotAngle, pchan->rotmode, (short)mode);
+
+    /* finally, set the new rotation type */
     pchan->rotmode = mode;
 
     if (prev_ob != ob) {



More information about the Bf-blender-cvs mailing list