Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermano Cavalcante <germano.costa@ig.com.br>2021-08-23 15:46:30 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2021-08-23 15:49:01 +0300
commit2f0e350ffd0ce1bf7ef617a678178dbfa185d3d0 (patch)
treee1378259d7dbe77f8eeafdc8673e38e3d835efd4
parentb4b3f518aa04877fb89605acb86ddbc8dc25656d (diff)
Fix T90872: Dopesheet messes up keyframe handles
Y coordinate was not being constrained. Caused by {rBb0d9e6797fb866e7a58876c7977c98a190070310}
-rw-r--r--source/blender/editors/transform/transform_convert_action.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_convert_action.c b/source/blender/editors/transform/transform_convert_action.c
index a5565b5fb88..075db30fa61 100644
--- a/source/blender/editors/transform/transform_convert_action.c
+++ b/source/blender/editors/transform/transform_convert_action.c
@@ -158,8 +158,9 @@ static void TimeToTransData(
/* Setup #TransData. */
td->loc = time; /* Usually #td2d->loc is used here. But this is for when the original location is
not float[3]. */
+ copy_v3_v3(td->iloc, td->loc);
td->val = time;
- td->ival = td->iloc[0] = *(time);
+ td->ival = *(time);
td->center[0] = td->ival;
td->center[1] = ypos;
@@ -615,7 +616,11 @@ void recalcData_actedit(TransInfo *t)
if ((autosnap != SACTSNAP_OFF) && (t->state != TRANS_CANCEL) && !(td->flag & TD_NOTIMESNAP)) {
transform_snap_anim_flush_data(t, td, autosnap, td->loc);
}
- transform_convert_flush_handle2D(td, td2d, 1.0f);
+
+ /* Constrain Y. */
+ td->loc[1] = td->iloc[1];
+
+ transform_convert_flush_handle2D(td, td2d, 0.0f);
}
if (ac.datatype != ANIMCONT_MASK) {