]> git.sesse.net Git - kdenlive/commitdiff
Fix crash on seek while moving a clip group
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 8 Jan 2013 21:33:11 +0000 (22:33 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 8 Jan 2013 21:33:11 +0000 (22:33 +0100)
src/renderer.cpp

index f03ed343f1546655f89c8fb78087ea7814c9f255..431a5d5133d6b11adc212d7ec7863b7dcc31b701 100644 (file)
@@ -2251,12 +2251,13 @@ bool Render::mltUpdateClip(Mlt::Tractor *tractor, ItemInfo info, QDomElement ele
 bool Render::mltRemoveClip(int track, GenTime position)
 {
     m_refreshTimer.stop();
+    
     Mlt::Service service(m_mltProducer->parent().get_service());
     if (service.type() != tractor_type) {
         kWarning() << "// TRACTOR PROBLEM";
         return false;
     }
-    //service.lock();
+    service.lock();
     Mlt::Tractor tractor(service);
     Mlt::Producer trackProducer(tractor.track(track));
     Mlt::Playlist trackPlaylist((mlt_playlist) trackProducer.get_service());
@@ -2264,7 +2265,7 @@ bool Render::mltRemoveClip(int track, GenTime position)
 
     if (trackPlaylist.is_blank(clipIndex)) {
         kDebug() << "// WARNING, TRYING TO REMOVE A BLANK: " << position.frames(m_fps);
-        //service.unlock();
+        service.unlock();
         return false;
     }
     Mlt::Producer *clip = trackPlaylist.replace_with_blank(clipIndex);
@@ -2280,7 +2281,7 @@ bool Render::mltRemoveClip(int track, GenTime position)
     if (trackPlaylist.is_blank(i)) blk = "(blank)";
     kDebug()<<"CLIP "<<i<<": ("<<blankStart<<'x'<<blankStart + blankDuration<<")"<<blk;
     }*/
-    //service.unlock();
+    service.unlock();
     if (track != 0 && trackPlaylist.count() <= clipIndex) mltCheckLength(&tractor);
     return true;
 }