]> git.sesse.net Git - kdenlive/blobdiff - src/clipmanager.cpp
Fix disabling proxy on a clip when it crashed
[kdenlive] / src / clipmanager.cpp
index 8937aaf46a3d8a7e230886300c5b04f20d54c2b7..cdd3eb0df2ad0d209a3b19a5841f4abf20f7bff3 100644 (file)
@@ -134,22 +134,22 @@ void ClipManager::stopThumbs(const QString &id)
     m_requestedThumbs.remove(id);
     m_thumbsMutex.unlock();
     m_abortThumb = false;
-    if (!m_thumbsThread.isRunning()) {
+    if (!m_thumbsThread.isRunning() && !m_requestedThumbs.isEmpty()) {
         m_thumbsThread = QtConcurrent::run(this, &ClipManager::slotGetThumbs);
     }
 }
 
 void ClipManager::slotGetThumbs()
 {
-    QMap<QString, int>::iterator i = m_requestedThumbs.begin();
+    QMap<QString, int>::const_iterator i;
     int max;
     int done = 0;
-    while (i != m_requestedThumbs.end() && !m_abortThumb) {
-        QString producerId = i.key();
+    while (!m_requestedThumbs.isEmpty() && !m_abortThumb) {
         m_thumbsMutex.lock();
+        i = m_requestedThumbs.constBegin();
+        QString producerId = i.key();
         QList<int> values = m_requestedThumbs.values(producerId);
         m_requestedThumbs.remove(producerId);
-        i = m_requestedThumbs.begin();
         m_thumbsMutex.unlock();
         qSort(values);
         DocClipBase *clip = getClipById(producerId);