]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.cpp
Clear monitor when the clip was removed from project, should fix:
[kdenlive] / src / monitor.cpp
index c04369434e8e2a41c96388dd5a60724524c40b20..8f8abf6b5d1df8af08ca964d381250b209699068 100644 (file)
@@ -602,14 +602,20 @@ void Monitor::slotLoopZone() {
 void Monitor::slotSetXml(DocClipBase *clip, const int position) {
     if (render == NULL) return;
     activateMonitor();
-    if (!clip) return;
-    if (clip != m_currentClip && clip->producer() != NULL) {
-        m_currentClip = clip;
-        render->setProducer(clip->producer(), position);
-        //m_ruler->slotNewValue(0);
-        //adjustRulerSize(clip->producer()->get_playtime());
-        //m_timePos->setText("00:00:00:00");
-        m_position = position;
+    if (!clip && m_currentClip != NULL) {
+        m_currentClip = NULL;
+        render->setProducer(NULL, -1);
+        return;
+    }
+    if (clip != m_currentClip) {
+        if (clip->producer() != NULL) {
+            m_currentClip = clip;
+            render->setProducer(clip->producer(), position);
+            //m_ruler->slotNewValue(0);
+            //adjustRulerSize(clip->producer()->get_playtime());
+            //m_timePos->setText("00:00:00:00");
+            m_position = position;
+        }
     } else if (position != -1) render->seek(GenTime(position, render->fps()));
 }