]> git.sesse.net Git - kdenlive/commitdiff
Fix wrong project clip deletion, fixes:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 19 Dec 2008 16:50:54 +0000 (16:50 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 19 Dec 2008 16:50:54 +0000 (16:50 +0000)
http://www.kdenlive.org:80/mantis/view.php?id=493

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

src/clipmanager.cpp
src/docclipbase.cpp
src/kdenlivedoc.cpp
src/kthumb.cpp

index eff38756e759b40bcfc89fcda796b96caa794db3..bb33d430873436534bddd6b253a11facba5e0cd8 100644 (file)
@@ -115,7 +115,8 @@ void ClipManager::slotDeleteClip(const QString &clipId) {
 void ClipManager::deleteClip(const QString &clipId) {
     for (int i = 0; i < m_clipList.count(); i++) {
         if (m_clipList.at(i)->getId() == clipId) {
-            m_clipList.removeAt(i);
+            DocClipBase *clip = m_clipList.takeAt(i);
+            delete clip;
             break;
         }
     }
index 2b147d9c95663dfca12e1c8fff7270a447c3abea..709a61def68e91d9283e73d694ad1da7df6537c3 100644 (file)
@@ -66,7 +66,9 @@ DocClipBase::DocClipBase(ClipManager *clipManager, QDomElement xml, const QStrin
 }*/
 
 DocClipBase::~DocClipBase() {
-    if (m_thumbProd) delete m_thumbProd;
+    if (m_thumbProd) {
+        delete m_thumbProd;
+    }
     qDeleteAll(m_baseTrackProducers);
 }
 
index 77732d30a1aad36ecfcf4fc6e7cbc9463d720526..01b282a5d672789182c22c93bb60d06cadbd9068 100644 (file)
@@ -1163,7 +1163,7 @@ void KdenliveDoc::addClip(QDomElement elem, QString clipId, bool createClipItem)
                     if (KMessageBox::messageBox(kapp->activeWindow(), KMessageBox::WarningYesNo, i18n("<qt>Clip <b>%1</b><br>is invalid or missing, what do you want to do?", path), i18n("File not found"), KGuiItem(i18n("Search manually")), /*KGuiItem(i18n("Remove from project")),*/ KGuiItem(i18n("Keep as placeholder"))) == KMessageBox::Yes)
                         newpath = KFileDialog::getExistingDirectory(KUrl("kfiledialog:///clipfolder"), kapp->activeWindow(), i18n("Looking for %1", path));
                 } else if (KMessageBox::messageBox(kapp->activeWindow(), KMessageBox::WarningYesNo, i18n("<qt>Clip <b>%1</b><br>is invalid or missing, what do you want to do?", path), i18n("File not found"), KGuiItem(i18n("Search manually")), /*KGuiItem(i18n("Remove from project")),*/ KGuiItem(i18n("Keep as placeholder"))) == KMessageBox::Yes)
-                                       newpath = KFileDialog::getOpenFileName(KUrl("kfiledialog:///clipfolder"), QString(), kapp->activeWindow(), i18n("Looking for %1", path));
+                    newpath = KFileDialog::getOpenFileName(KUrl("kfiledialog:///clipfolder"), QString(), kapp->activeWindow(), i18n("Looking for %1", path));
             }
             if (action == KMessageBox::Yes) {
                 kDebug() << "// ASKED FOR SRCH CLIP: " << clipId;
index a7e12e10ac23721042cc6ed26c82c0341c3f1f6e..70864a3e133d70c4548e0d54f7a5d511e28d3508 100644 (file)
@@ -132,7 +132,11 @@ KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QStr
 }
 
 KThumb::~KThumb() {
-    if (audioThumbProducer.isRunning()) audioThumbProducer.exit();
+    if (audioThumbProducer.isRunning()) {
+        slotAudioThumbOver();
+        audioThumbProducer.stop_me = true;
+        audioThumbProducer.wait(300);
+    }
 }
 
 void KThumb::setProducer(Mlt::Producer *producer) {