]> git.sesse.net Git - kdenlive/commitdiff
Fix error in copy / paste transition
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 5 Oct 2009 07:37:33 +0000 (07:37 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 5 Oct 2009 07:37:33 +0000 (07:37 +0000)
svn path=/trunk/kdenlive/; revision=3996

src/customtrackview.cpp

index 4906d82cbecdaa0a4f9caf6c17864a5000d3bf84..de0e567dfd7d3fc10ad78ff80128384c53ebedc0 100644 (file)
@@ -3669,6 +3669,7 @@ void CustomTrackView::moveTransition(const ItemInfo start, const ItemInfo end, b
         emit transitionItemSelected(item, getPreviousVideoTrack(item->track()), p);
     }
     if (m_refresh) m_document->renderer()->doRefresh();
+    setDocumentModified();
 }
 
 void CustomTrackView::resizeClip(const ItemInfo start, const ItemInfo end, bool dontWorry)
@@ -3718,6 +3719,7 @@ void CustomTrackView::resizeClip(const ItemInfo start, const ItemInfo end, bool
     }
     m_document->renderer()->doRefresh();
     KdenliveSettings::setSnaptopoints(snap);
+    setDocumentModified();
 }
 
 void CustomTrackView::updatePositionEffects(ClipItem * item, ItemInfo info)
@@ -4368,10 +4370,13 @@ void CustomTrackView::pasteClip()
             info.startPos = tr->startPos() + offset;
             info.endPos = tr->endPos() + offset;
             info.track = tr->track() + trackOffset;
+            int transitionEndTrack;
+            if (tr->isAutomatic()) transitionEndTrack = getPreviousVideoTrack(info.track);
+            else transitionEndTrack = tr->transitionEndTrack();
             if (canBePastedTo(info, TRANSITIONWIDGET)) {
                 if (info.startPos >= info.endPos) {
                     emit displayMessage(i18n("Invalid transition"), ErrorMessage);
-                } else new AddTransitionCommand(this, info, tr->transitionEndTrack() + trackOffset, tr->toXML(), false, true, pasteClips);
+                } else new AddTransitionCommand(this, info, transitionEndTrack, tr->toXML(), false, true, pasteClips);
             } else emit displayMessage(i18n("Cannot paste transition to selected place"), ErrorMessage);
         }
     }