]> git.sesse.net Git - kdenlive/commitdiff
Fix transition not correctly updated when changed from dissolve to wipe for example
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 3 Jul 2009 11:25:22 +0000 (11:25 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 3 Jul 2009 11:25:22 +0000 (11:25 +0000)
svn path=/trunk/kdenlive/; revision=3726

src/renderer.cpp

index 5ea80193dc892045616ec4d1858afb1e08cd0e74..ba2ff686bc1617cd65f5da6b5ca327846ad59906 100644 (file)
@@ -2618,7 +2618,6 @@ void Render::mltUpdateTransitionParams(QString type, int a_track, int b_track, G
     mlt_service_lock(serv);
     m_isBlocked++;
 
-
     mlt_service nextservice = mlt_service_get_producer(serv);
     mlt_properties properties = MLT_SERVICE_PROPERTIES(nextservice);
     QString mlt_type = mlt_properties_get(properties, "mlt_type");
@@ -2641,6 +2640,10 @@ void Render::mltUpdateTransitionParams(QString type, int a_track, int b_track, G
             QString key;
             mlt_properties transproperties = MLT_TRANSITION_PROPERTIES(tr);
             mlt_properties_set_int(transproperties, "force_track", xml.attribute("force_track").toInt());
+            // update the transition id in case it uses the same MLT service but different Kdenlive id
+            char *tmp = decodedString(xml.attribute("id"));
+            mlt_properties_set(transproperties, "kdenlive_id", tmp);
+            delete[] tmp;
             if (currentBTrack != a_track) {
                 mlt_properties_set_int(properties, "a_track", a_track);
             }