]> git.sesse.net Git - kdenlive/commitdiff
When deleting a track, also delete the transitions that are on it
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 6 Nov 2009 22:53:56 +0000 (22:53 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 6 Nov 2009 22:53:56 +0000 (22:53 +0000)
svn path=/trunk/kdenlive/; revision=4099

src/renderer.cpp

index 04aeffbf47a20cca9ae1d2018b98f4e04fee08c1..950fb18ec5d4b614879e8941dd9b2e0cf9abf7c4 100644 (file)
@@ -148,7 +148,6 @@ void Render::closeMlt()
     //delete m_osdInfo;
 }
 
-
 void Render::buildConsumer(const QString profileName)
 {
     char *tmp;
@@ -3502,7 +3501,13 @@ void Render::mltDeleteTrack(int ix)
             int a_track = mappedProps.value("a_track").toInt();
             int b_track = mappedProps.value("b_track").toInt();
             if (a_track > 0 && a_track >= ix) a_track --;
-            if (b_track > 0 && b_track >= ix) b_track --;
+            if (b_track > 0 && b_track > ix) b_track --;
+           if (b_track == ix) {
+               // transition was on the deleted track, so remove it
+               tractor.removeChild(transitions.at(i));
+               i--;
+               continue;
+           }
             for (int j = 0; j < props.count(); j++) {
                 QDomElement f = props.at(j).toElement();
                 if (f.attribute("name") == "a_track") f.firstChild().setNodeValue(QString::number(a_track));