]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.cpp
Fix several timeline corruption when moving groups: http://kdenlive.org/mantis/view...
[kdenlive] / src / renderer.cpp
index 207637070816b22f72e6a9a1f872d92e4f64adb6..12e30d94d2714c4c33e49c43096b2b8d28d486ad 100644 (file)
@@ -1107,6 +1107,7 @@ int Render::setProducer(Mlt::Producer *producer, int position)
     if (!producer || !producer->is_valid()) {
         if (producer) delete producer;
         producer = m_blackClip->cut(0, 1);
+       producer->set("id", "black");
     }
 
     if (!producer || !producer->is_valid()) {
@@ -2064,15 +2065,13 @@ bool Render::mltCutClip(int track, GenTime position)
 Mlt::Tractor *Render::lockService()
 {
     // we are going to replace some clips, purge consumer
-    QMutexLocker locker(&m_mutex);
     if (!m_mltProducer) return NULL;
+    QMutexLocker locker(&m_mutex);
     if (m_mltConsumer) {
-        if (!m_mltConsumer->is_stopped()) m_mltConsumer->stop();
         m_mltConsumer->purge();
     }
     Mlt::Service service(m_mltProducer->parent().get_service());
     if (service.type() != tractor_type) {
-        kWarning() << "// TRACTOR PROBLEM";
         return NULL;
     }
     service.lock();