]> git.sesse.net Git - kdenlive/commitdiff
Fix corruption of automatic transitions:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 4 Jan 2009 09:01:57 +0000 (09:01 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 4 Jan 2009 09:01:57 +0000 (09:01 +0000)
http://www.kdenlive.org:80/mantis/view.php?id=542

svn path=/branches/KDE4/; revision=2869

src/customtrackview.cpp

index 5278a3051db9b07c0fc3a4daaaa885e36625d7ef..af1568969f157f6c2c4aa5878e2f661d43c0b0a7 100644 (file)
@@ -1793,7 +1793,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) {
                             // transition end should be adjusted to clip
                             newTrInfo.endPos = newTrInfo.endPos + (newTrInfo.startPos - trInfo.startPos);
                         }
-                        new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
+                        if (newTrInfo.startPos < newTrInfo.endPos) new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
                     }
                     if (tr == NULL || tr->endPos() < m_dragItemInfo.endPos) {
                         // Check if there is a transition at clip end
@@ -1809,7 +1809,8 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) {
                                 // transition start should be moved
                                 newTrInfo.startPos = newTrInfo.startPos + (newTrInfo.endPos - trInfo.endPos);
                             }
-                            new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
+                            if (newTrInfo.startPos < newTrInfo.endPos)
+                                new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
                         }
                     }
                     // Also move automatic transitions (on upper track)
@@ -1824,7 +1825,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) {
                                 // transition end should be adjusted to clip on upper track
                                 newTrInfo.endPos = newTrInfo.endPos + (newTrInfo.startPos - trInfo.startPos);
                             }
-                            new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
+                            if (newTrInfo.startPos < newTrInfo.endPos) new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
                         }
                     }
                     if (m_dragItemInfo.track == info.track && (tr == NULL || tr->endPos() < m_dragItemInfo.endPos)) {
@@ -1840,7 +1841,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) {
                                     // transition start should be moved
                                     newTrInfo.startPos = newTrInfo.startPos + (newTrInfo.endPos - trInfo.endPos);
                                 }
-                                new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
+                                if (newTrInfo.startPos < newTrInfo.endPos) new MoveTransitionCommand(this, trInfo, newTrInfo, true, moveCommand);
                             }
                         }
                     }