From 363a8cc7a9241674877e6a44b64eb2cd3b41deaa Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Sun, 2 Jan 2022 12:35:41 -0800 Subject: [PATCH] keyframeview: correct time break bug --- app/widget/keyframeview/keyframeview.cpp | 7 ++++++- app/widget/keyframeview/keyframeview.h | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/widget/keyframeview/keyframeview.cpp b/app/widget/keyframeview/keyframeview.cpp index 57d8f8c5d..30c79c54f 100644 --- a/app/widget/keyframeview/keyframeview.cpp +++ b/app/widget/keyframeview/keyframeview.cpp @@ -331,7 +331,7 @@ void KeyframeView::drawForeground(QPainter *painter, const QRectF &rect) DrawKeyframe(painter, key, track, key_rect); - next_key = SceneToTime(key_x + 1); + next_key = GetUnadjustedKeyframeTime(key, SceneToTime(key_x + 1)); last_type = key->type(); } } @@ -417,6 +417,11 @@ void KeyframeView::DeselectKeyframe(NodeKeyframe *key) } } +rational KeyframeView::GetUnadjustedKeyframeTime(NodeKeyframe *key, const rational &time) +{ + return GetAdjustedTime(GetTimeTarget(), key->parent(), time, true); +} + rational KeyframeView::GetAdjustedKeyframeTime(NodeKeyframe *key) { return GetAdjustedTime(key->parent(), GetTimeTarget(), key->time(), false); diff --git a/app/widget/keyframeview/keyframeview.h b/app/widget/keyframeview/keyframeview.h index 09565f1b2..d49257da3 100644 --- a/app/widget/keyframeview/keyframeview.h +++ b/app/widget/keyframeview/keyframeview.h @@ -111,6 +111,12 @@ protected: return selection_manager_.IsSelected(key); } + rational GetUnadjustedKeyframeTime(NodeKeyframe *key, const rational &time); + rational GetUnadjustedKeyframeTime(NodeKeyframe *key) + { + return GetUnadjustedKeyframeTime(key, key->time()); + } + rational GetAdjustedKeyframeTime(NodeKeyframe *key); double GetKeyframeSceneX(NodeKeyframe *key);