]> git.sesse.net Git - kdenlive/commitdiff
Fix issue with transition move
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 5 Oct 2009 18:31:16 +0000 (18:31 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 5 Oct 2009 18:31:16 +0000 (18:31 +0000)
svn path=/trunk/kdenlive/; revision=4005

src/customtrackview.cpp

index 0055a825ef019a32a5d6e928285f207a69704604..693be317be421b57b5c0472fa6494d9038f63eae 100644 (file)
@@ -2713,9 +2713,8 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event)
             if (m_dragItem->type() == TRANSITIONWIDGET && (m_dragItemInfo.startPos != info.startPos || m_dragItemInfo.track != info.track)) {
                 Transition *transition = static_cast <Transition *>(m_dragItem);
                 int transitionTrack;
-                if (!transition->forcedTrack()) transitionTrack = getPreviousVideoTrack(m_dragItem->track());
-                else transitionTrack = transition->transitionEndTrack();
-                if (!m_document->renderer()->mltMoveTransition(transition->transitionTag(), (int)(m_document->tracksCount() - m_dragItemInfo.track), (int)(m_document->tracksCount() - m_dragItem->track()), transitionTrack, m_dragItemInfo.startPos, m_dragItemInfo.endPos, info.startPos, info.endPos)) {
+                transition->updateTransitionEndTrack(getPreviousVideoTrack(m_dragItem->track()));
+                if (!m_document->renderer()->mltMoveTransition(transition->transitionTag(), (int)(m_document->tracksCount() - m_dragItemInfo.track), (int)(m_document->tracksCount() - m_dragItem->track()), transition->transitionEndTrack(), m_dragItemInfo.startPos, m_dragItemInfo.endPos, info.startPos, info.endPos)) {
                     // Moving transition failed, revert to previous position
                     emit displayMessage(i18n("Cannot move transition"), ErrorMessage);
                     transition->setPos((int) m_dragItemInfo.startPos.frames(m_document->fps()), (m_dragItemInfo.track) * m_tracksHeight + 1);
@@ -2980,7 +2979,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event)
             }
         } else if (m_dragItem->type() == TRANSITIONWIDGET) {
             Transition *transition = static_cast <Transition *>(m_dragItem);
-            if (!m_document->renderer()->mltMoveTransition(transition->transitionTag(), (int)(m_document->tracksCount() - m_dragItemInfo.track), (int)(m_document->tracksCount() - m_dragItemInfo.track), 0, m_dragItemInfo.startPos, m_dragItemInfo.endPos, info.startPos, info.endPos)) {
+            if (!m_document->renderer()->mltMoveTransition(transition->transitionTag(), (int)(m_document->tracksCount() - m_dragItemInfo.track), (int)(m_document->tracksCount() - m_dragItemInfo.track), transition->transitionEndTrack(), m_dragItemInfo.startPos, m_dragItemInfo.endPos, info.startPos, info.endPos)) {
                 // Cannot resize transition
                 transition->resizeEnd((int) m_dragItemInfo.endPos.frames(m_document->fps()));
                 emit displayMessage(i18n("Cannot resize transition"), ErrorMessage);