From 1e644b6f124893e34f973445359c25e24ad11e0f Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Tue, 13 Jan 2009 14:14:45 +0000 Subject: [PATCH] Clear monitor when the clip was removed from project, should fix: http://www.kdenlive.org:80/mantis/view.php?id=578 svn path=/branches/KDE4/; revision=2910 --- src/clipmanager.cpp | 1 + src/docclipbase.cpp | 1 + src/monitor.cpp | 4 ++-- src/projectlist.cpp | 1 + src/renderer.cpp | 2 +- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/clipmanager.cpp b/src/clipmanager.cpp index c7506b5f..80e793a6 100644 --- a/src/clipmanager.cpp +++ b/src/clipmanager.cpp @@ -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; } } diff --git a/src/docclipbase.cpp b/src/docclipbase.cpp index 1867d253..0795a43b 100644 --- a/src/docclipbase.cpp +++ b/src/docclipbase.cpp @@ -70,6 +70,7 @@ DocClipBase::~DocClipBase() { delete m_thumbProd; } qDeleteAll(m_baseTrackProducers); + m_baseTrackProducers.clear(); } void DocClipBase::slotCreateAudioTimer() { diff --git a/src/monitor.cpp b/src/monitor.cpp index c98060e1..8f8abf6b 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -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) { diff --git a/src/projectlist.cpp b/src/projectlist.cpp index c4bf7dc3..b4a545a5 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -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); } diff --git a/src/renderer.cpp b/src/renderer.cpp index 1e383dd4..ab82e860 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -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"); -- 2.39.2