From 48c196bdf5f1781aaab853a9b151d91af087458b Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 24 Nov 2018 01:09:46 +1100 Subject: [PATCH] fixed some broken transition logic --- ui/timelinewidget.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/timelinewidget.cpp b/ui/timelinewidget.cpp index 90a921489..3d853e047 100644 --- a/ui/timelinewidget.cpp +++ b/ui/timelinewidget.cpp @@ -1110,12 +1110,12 @@ void TimelineWidget::init_ghosts() { Clip* c = sequence->clips.at(g.clip); g.track = g.old_track = c->track; - g.clip_in = g.old_clip_in = c->clip_in; + g.clip_in = g.old_clip_in = panel_timeline->tool == TIMELINE_TOOL_SLIP ? c->get_clip_in_with_transition() : c->clip_in; if (g.transition == NULL) { // this ghost is for a clip - g.in = g.old_in = c->timeline_in; - g.out = g.old_out = c->timeline_out; + g.in = g.old_in = c->timeline_in; + g.out = g.old_out = c->timeline_out; g.ghost_length = g.old_out - g.old_in; } else if (g.transition == c->get_opening_transition()) { g.in = g.old_in = c->get_timeline_in_with_transition(); @@ -1326,9 +1326,9 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { frame_diff -= validator; } - validator = otc->clip_in + frame_diff; + validator = otc->clip_in - frame_diff; if (validator < 0) { // prevent from going below 0 for the media - frame_diff -= validator; + frame_diff += validator; } if (validator > otc->getMaximumLength()) { // prevent transition from exceeding media length