]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.cpp
Fix repeated close confirmation:
[kdenlive] / src / renderer.cpp
index 328d9aead6ce7422bdca47861765f68c34cbb9a8..c0a86da5a5b530d0446a62d1cace2c04ebfa3a62 100644 (file)
@@ -520,7 +520,7 @@ void Render::slotSplitView(bool doit)
     }
 }
 
-void Render::getFileProperties(const QDomElement xml, const QString &clipId, int imageHeight, bool replaceProducer)
+void Render::getFileProperties(const QDomElement xml, const QString &clipId, int imageHeight, bool replaceProducer, bool selectClip)
 {
     QString path;
     if (xml.hasAttribute("proxy")) path = xml.attribute("proxy");
@@ -623,7 +623,7 @@ void Render::getFileProperties(const QDomElement xml, const QString &clipId, int
 
     if (!replaceProducer && xml.hasAttribute("file_hash")) {
         // Clip  already has all properties
-        emit replyGetFileProperties(clipId, producer, QMap < QString, QString >(), QMap < QString, QString >(), replaceProducer);
+        emit replyGetFileProperties(clipId, producer, QMap < QString, QString >(), QMap < QString, QString >(), replaceProducer, selectClip);
         return;
     }
 
@@ -799,7 +799,7 @@ void Render::getFileProperties(const QDomElement xml, const QString &clipId, int
             metadataPropertyMap[ name.section('.', 0, -2)] = value;
     }
     producer->seek(0);
-    emit replyGetFileProperties(clipId, producer, filePropertyMap, metadataPropertyMap, replaceProducer);
+    emit replyGetFileProperties(clipId, producer, filePropertyMap, metadataPropertyMap, replaceProducer, selectClip);
     // FIXME: should delete this to avoid a leak...
     //delete producer;
 }
@@ -3666,8 +3666,12 @@ bool Render::mltAddTransition(QString tag, int a_track, int b_track, GenTime in,
         //kDebug() << " ------  ADDING TRANS PARAM: " << key << ": " << it.value();
     }
     // attach transition
+    m_isBlocked++;
+    mlt_service_lock(service.get_service());
     mltPlantTransition(field, *transition, a_track, b_track);
     // field->plant_transition(*transition, a_track, b_track);
+    mlt_service_unlock(service.get_service());
+    m_isBlocked--;
     if (do_refresh) refresh();
     return true;
 }