]> git.sesse.net Git - kdenlive/blobdiff - plugins/sampleplugin/sampleplugin.cpp
Use QPointer [krazy 1/37] by Mikko Rapeli
[kdenlive] / plugins / sampleplugin / sampleplugin.cpp
index 2d40a04116aa4af09cfa5a7a6224c66432bdbcbb..1cdcf6809e53f7e715916c6a8576240c299dd8cd 100644 (file)
@@ -51,15 +51,15 @@ KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFo
         ct++;
         counter = QString::number(ct).rightJustified(5, '0', false);
     }
-    QDialog d;
+    QPointer<QDialog> d = new QDialog;
     Ui::CountDown_UI view;
-    view.setupUi(&d);
+    view.setupUi(d);
     if (generator == i18n("Noise")) {
-        d.setWindowTitle(tr("Create Noise Clip"));
+        d->setWindowTitle(tr("Create Noise Clip"));
         view.font_label->setHidden(true);
         view.font->setHidden(true);
     } else {
-        d.setWindowTitle(tr("Create Countdown Clip"));
+        d->setWindowTitle(tr("Create Countdown Clip"));
         view.font->setValue(height);
     }
 
@@ -68,7 +68,7 @@ KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFo
 
     QString clipFile = prePath + counter + ".mlt";
     view.path->setUrl(KUrl(clipFile));
-    if (d.exec() == QDialog::Accepted) {
+    if (d->exec() == QDialog::Accepted) {
         QDomDocument doc;
         QDomElement mlt = doc.createElement("mlt");
         QDomElement playlist = doc.createElement("playlist");
@@ -77,7 +77,6 @@ KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFo
             prod.setAttribute("mlt_service", "noise");
             prod.setAttribute("in", "0");
             prod.setAttribute("out", QString::number((int) fps * view.duration->value()));
-            prod.setAttribute("resource", "&lt;producer&gt;");
             playlist.appendChild(prod);
         } else {
             for (int i = 0; i < view.duration->value(); i++) {
@@ -87,7 +86,6 @@ KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFo
                 prod.setAttribute("in", "0");
                 prod.setAttribute("out", QString::number((int) fps));
                 prod.setAttribute("text", QString::number(view.duration->value() - i));
-                prod.setAttribute("resource", "&lt;producer&gt;");
                 //FIXME: the font and pad values are approximate, the pango producer seems unable
                 // to produce a predictable frame size.
                 prod.setAttribute("font", QString::number(view.font->value()) + "px");
@@ -101,6 +99,7 @@ KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFo
         if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
             kWarning() << "//////  ERROR writing to file: " << view.path->url().path();
             KMessageBox::error(0, i18n("Cannot write to file %1", view.path->url().path()));
+            delete d;
             return KUrl();
         }
         QTextStream out(&file);
@@ -108,9 +107,11 @@ KUrl SamplePlugin::generatedClip(const QString &generator, const KUrl &projectFo
         if (file.error() != QFile::NoError) {
             KMessageBox::error(0, i18n("Cannot write to file %1", view.path->url().path()));
             file.close();
+            delete d;
             return KUrl();
         }
         file.close();
+       delete d;
         return view.path->url();
     }
     return KUrl();