]> git.sesse.net Git - kdenlive/blobdiff - src/kdenlivedoc.cpp
Fix Coverity #980671
[kdenlive] / src / kdenlivedoc.cpp
index 611d5a36346197744c10581d7d37942839de8534..c1804867a187e675a136e5b5a78466f39bb1805c 100644 (file)
@@ -143,14 +143,16 @@ KdenliveDoc::KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup
         else {
             QFile file(tmpFile);
             QString errorMsg;
+           int line;
+           int col;
             QDomImplementation::setInvalidDataPolicy(QDomImplementation::DropInvalidChars);
-            success = m_document.setContent(&file, false, &errorMsg);
+            success = m_document.setContent(&file, false, &errorMsg, &line, &col);
             file.close();
             KIO::NetAccess::removeTempFile(tmpFile);
 
             if (!success) {
                 // It is corrupted
-                if (KMessageBox::warningContinueCancel(parent, i18n("Cannot open the project file, error is:\n%1\nDo you want to open a backup file?", errorMsg), i18n("Error opening file"), KGuiItem(i18n("Open Backup"))) == KMessageBox::Continue) {
+                if (KMessageBox::warningContinueCancel(parent, i18n("Cannot open the project file, error is:\n%1 (line %2, col %3)\nDo you want to open a backup file?", errorMsg, line, col), i18n("Error opening file"), KGuiItem(i18n("Open Backup"))) == KMessageBox::Continue) {
                 *openBackup = true;
             }
                 //KMessageBox::error(parent, errorMsg);
@@ -1192,9 +1194,9 @@ bool KdenliveDoc::addClipInfo(QDomElement elem, QDomElement orig, QString clipId
         QDomNamedNodeMap attributes = elem.attributes();
         for (int i = 0; i < attributes.count(); i++) {
             QString attrname = attributes.item(i).nodeName();
-            if (attrname != "resource")
+           if (attrname != "resource")
                 properties.insert(attrname, attributes.item(i).nodeValue());
-            kDebug() << attrname << " = " << attributes.item(i).nodeValue();
+            //kDebug() << attrname << " = " << attributes.item(i).nodeValue();
         }
         clip->setProperties(properties);
         emit addProjectClip(clip, false);
@@ -1203,8 +1205,10 @@ bool KdenliveDoc::addClipInfo(QDomElement elem, QDomElement orig, QString clipId
         QMap<QString, QString> meta;
         for (QDomNode m = orig.firstChild(); !m.isNull(); m = m.nextSibling()) {
             QString name = m.toElement().attribute("name");
-            if (name.startsWith("meta.attr"))
-                meta.insert(name.section('.', 2, 3), m.firstChild().nodeValue());
+            if (name.startsWith("meta.attr")) {
+               if (name.endsWith(".markup")) name = name.section('.', 0, -2);
+                meta.insert(name.section('.', 2, -1), m.firstChild().nodeValue());
+           }
         }
         if (!meta.isEmpty()) {
             if (clip == NULL)
@@ -1274,7 +1278,7 @@ void KdenliveDoc::slotCreateTextClip(QString group, const QString &groupId, cons
     KStandardDirs::makeDir(titlesFolder);
     QPointer<TitleWidget> dia_ui = new TitleWidget(templatePath, m_timecode, titlesFolder, m_render, kapp->activeWindow());
     if (dia_ui->exec() == QDialog::Accepted) {
-        m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->outPoint(), dia_ui->xml().toString(), group, groupId);
+        m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->duration(), dia_ui->xml().toString(), group, groupId);
         setModified(true);
         emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
     }