From: Jean-Baptiste Mardelle Date: Mon, 23 Jul 2012 06:17:51 +0000 (+0200) Subject: Create dialog on heap instead of stack [krazy 5/37] by Mikko Rapeli X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=cf55d5f66b7d80ebb41c44b1d6c5a8c0785034c1;p=kdenlive Create dialog on heap instead of stack [krazy 5/37] by Mikko Rapeli --- diff --git a/plugins/sampleplugin/sampleplugin.cpp b/plugins/sampleplugin/sampleplugin.cpp index 74b22f86..1cdcf680 100644 --- a/plugins/sampleplugin/sampleplugin.cpp +++ b/plugins/sampleplugin/sampleplugin.cpp @@ -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 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"); @@ -99,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); @@ -106,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();