]> git.sesse.net Git - kdenlive/commitdiff
Clear monitor when the clip was removed from project, should fix:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 13 Jan 2009 14:14:45 +0000 (14:14 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 13 Jan 2009 14:14:45 +0000 (14:14 +0000)
http://www.kdenlive.org:80/mantis/view.php?id=578

svn path=/branches/KDE4/; revision=2910

src/clipmanager.cpp
src/docclipbase.cpp
src/monitor.cpp
src/projectlist.cpp
src/renderer.cpp

index c7506b5fc2895068a83376c489bff539d990387a..80e793a6c7df3608f1f614c8898c201017f4d72d 100644 (file)
@@ -119,6 +119,7 @@ void ClipManager::deleteClip(const QString &clipId) {
         if (m_clipList.at(i)->getId() == clipId) {
             DocClipBase *clip = m_clipList.takeAt(i);
             delete clip;
+            clip = NULL;
             break;
         }
     }
index 1867d253be1bf81c64d07a636a269460a87f5568..0795a43b1eea02a8c139e2aca5830122da97fa93 100644 (file)
@@ -70,6 +70,7 @@ DocClipBase::~DocClipBase() {
         delete m_thumbProd;
     }
     qDeleteAll(m_baseTrackProducers);
+    m_baseTrackProducers.clear();
 }
 
 void DocClipBase::slotCreateAudioTimer() {
index c98060e1b4856a9f02754bfe2a3fd5d13909c975..8f8abf6b5d1df8af08ca964d381250b209699068 100644 (file)
@@ -602,9 +602,9 @@ void Monitor::slotLoopZone() {
 void Monitor::slotSetXml(DocClipBase *clip, const int position) {
     if (render == NULL) return;
     activateMonitor();
-    if (!clip) {
-        kDebug() << "// SETTING NULL CLIP";
+    if (!clip && m_currentClip != NULL) {
         m_currentClip = NULL;
+        render->setProducer(NULL, -1);
         return;
     }
     if (clip != m_currentClip) {
index c4bf7dc3f213670e8cd912c895d24a285e288d06..b4a545a55749bc55ca4410c481b088a5ea57c366 100644 (file)
@@ -153,6 +153,7 @@ void ProjectList::slotClipSelected() {
         m_editAction->setEnabled(true);
         m_deleteAction->setEnabled(true);
     } else {
+        emit clipSelected(NULL);
         m_editAction->setEnabled(false);
         m_deleteAction->setEnabled(false);
     }
index 1e383dd42cb0f3e2af0ed7b8bb30d064e309b924..ab82e86068166a303d25b66bd086e783af3550be 100644 (file)
@@ -745,7 +745,7 @@ void Render::setProducer(Mlt::Producer *producer, int position) {
     }
     if (producer) {
         m_mltProducer = new Mlt::Producer(producer->get_producer());
-    } else m_mltProducer = new Mlt::Producer();
+    } else m_mltProducer = new Mlt::Producer(*m_mltProfile , "colour", "black");
     /*if (KdenliveSettings::dropbframes()) {
     m_mltProducer->set("skip_loop_filter", "all");
         m_mltProducer->set("skip_frame", "bidir");