From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:49
|
KDE static analysis tool has some complains about kdenlive: http://www.englishbreakfastnetwork.org/krazy/reports/extragear/multimedia/kdenlive/index.html This patch set tries to fix most of these complaints: krazy2 Analysis Checkers Run = 54 Files Processed = 500 Total Issues = 973 ...as of June 28 2012 04:31:57 UTC For File Type cmake Check that file ends with a newline [endswithnewline]...OOPS! 1 issues found! cmake/modules/FindLibV4L2.cmake: line# 26 (1) Files that do not end with a newline character can cause problems. Please add a newline character to the end of the file. Check for spelling errors [spelling]...okay! For File Type c++ Check for TRUE and FALSE macros [captruefalse]...OOPS! 4 issues found! src/onmonitoritems/rotoscoping/graphicsgems.h: using TRUE line# 133,134 (2) src/onmonitoritems/rotoscoping/graphicsgems.h: using FALSE line# 137,138 (2) The TRUE and FALSE macros are obsolete and should be replaced with true and false (all lower case) respectively. Check for methods that return 'const' refs in public classes [constref]...okay! Check for an acceptable copyright [copyright]...OOPS! 13 issues found! src/onmonitoritems/rotoscoping/nearestpoint.cpp: missing tags line# 21 (1) src/jogshuttleconfig.h: missing tags line# 3 (1) src/lib/external/kiss_fft/kiss_fft.h: missing tags src/lib/external/kiss_fft/kiss_fft.c: missing tags line# 2 (1) src/lib/external/kiss_fft/_kiss_fft_guts.h: missing tags line# 2 (1) src/lib/external/kiss_fft/tools/kiss_fastfir.c: missing tags line# 2 (1) src/lib/external/kiss_fft/tools/kiss_fftnd.c: missing tags line# 4 (1) src/lib/external/kiss_fft/tools/psdpng.c: missing tags line# 2 (1) src/lib/external/kiss_fft/tools/kfc.c: missing tags line# 4 (1) src/lib/external/kiss_fft/tools/fftutil.c: missing tags line# 2 (1) src/lib/external/kiss_fft/tools/kfc.h: missing tags src/lib/external/kiss_fft/tools/kiss_fftndr.c: missing tags line# 2 (1) src/lib/external/kiss_fft/tools/kiss_fftr.c: missing tags line# 2 (1) All source files must contain a copyright header which identifies the copyright holder(s) together with a e-mail address that can be used to reach the copyright holder. One copyright holder per line, with real email addresses please. For details regarding KDE's licensing policy please visit http://techbase.kde.org/Policies/Licensing_Policy. A typical copyright looks like: "Copyright 2002,2005-2006 Joe Hacker " Check for cpp macros and usage [cpp]...okay! Check for code that should be considered crashy. [crashy]...OOPS! 41 issues found! plugins/sampleplugin/sampleplugin.cpp: line# 71 (1) src/recmonitor.cpp: line# 888 (1) src/titlewidget.cpp: line# 1855 (1) src/kdenlivesettingsdialog.cpp: line# 484,495,506,992,1080 (5) src/customtrackview.cpp: line# 1360,3084,3181,5253,5284,5296,5921,5953,5966 (9) src/effectstack/collapsibleeffect.cpp: line# 161 (1) src/mainwindow.cpp: line# 1834,1873,2061,2219,2243,2305,2830,2914,3268,3323,3747,3837,4459 (13) src/monitor.cpp: line# 585 (1) src/projectlist.cpp: line# 1648,1822,1895,2737,3327,3388 (6) src/clipproperties.cpp: line# 722,734 (2) src/kdenlivedoc.cpp: line# 1270 (1) Looks for not using QPointers when showing modal dialogs via exec(), as discussed in http://www.kdedevelopers.org/node/3919 Tested briefly with latest kdenlive with and without these patches and mlt and ffmpeg from git on Debian unstable. Had some weird problems on Debian unstable (odd kdenlive crashes etc) but they seem to be gone with latest apt-get upgrade. Saw one odd looking crash during testing but missed the trace and was not able to reproduce it under gdb. Please review and even test a bit more before applying, thanks. Mikko Rapeli (37): FindLibV4L2.cmake: Add new line to end of file Remove obsolete TRUE and FALSE definitions Fix copyrights Add copyright and license Create dialog on heap instead of stack Use QPointer Use QPointer settingsdialog: Use QPointer editItemDuration: Use QPointer slotRemoveSpace: Use QPointer slotInsertSpace: Use QPointer slotAddGuide: Use QPointer slotEditGuide: Use QPointer slotEditTimeLineGuide: Use QPointer slotInsertTrack: Use QPointer slotDeleteTrack: Use QPointer slotConfigTracks: Use QPointer collapsibleeffect.cpp: Use QPointer readOptions: Use QPointer slotRunWizard: Use QPointer newFile: Use QPointer openFile: Use QPointer parseProfiles: Use QPointer, delete on error path slotEditProjectSettings: Use QPointer slotAddClipMarker: Use QPointer slotEditClipMarker: Use QPointer slotShowClipProperties: Use QPointer slotShowClipProperties: Use QPointer getNewStuff: Use QPointer slotDvdWizard: Use QPointer slotOpenBackupDialog: Use QPointer slotExtractCurrentFrame: Use QPointer projectlist.cpp: Use QPointer clipproperties.cpp: Use QPointer kdenlivedoc.cpp: Use QPointer Compare with isEmpty() instead of null string "" End files with new line cmake/modules/FindLibV4L2.cmake | 3 +- plugins/sampleplugin/sampleplugin.cpp | 13 ++- src/clipproperties.cpp | 8 +- src/clipstabilize.cpp | 2 +- src/customtrackview.cpp | 134 ++++++++++++++----------- src/effectstack/collapsibleeffect.cpp | 2 +- src/jogaction.cpp | 2 +- src/jogshuttleconfig.cpp | 2 +- src/jogshuttleconfig.h | 3 +- src/kdenlivedoc.cpp | 2 +- src/kdenlivesettingsdialog.cpp | 35 ++++--- src/lib/external/kiss_fft/kiss_fft.h | 14 +++ src/lib/external/kiss_fft/tools/kfc.h | 15 +++ src/mainwindow.cpp | 69 ++++++++----- src/monitor.cpp | 2 +- src/onmonitoritems/rotoscoping/graphicsgems.h | 8 -- src/projectlist.cpp | 10 +- src/projecttree/meltjob.cpp | 3 +- src/recmonitor.cpp | 2 +- src/titlewidget.cpp | 4 +- src/unicodedialog.cpp | 2 +- src/utils/resourcewidget.cpp | 3 +- 22 files changed, 207 insertions(+), 131 deletions(-) -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:50
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/effectstack/collapsibleeffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/effectstack/collapsibleeffect.cpp b/src/effectstack/collapsibleeffect.cpp index 3660eed..6ea4865 100644 --- a/src/effectstack/collapsibleeffect.cpp +++ b/src/effectstack/collapsibleeffect.cpp @@ -155,7 +155,7 @@ void CollapsibleEffect::slotCreateRegion() { QString allExtensions = ProjectList::getExtensions(); const QString dialogFilter = allExtensions + ' ' + QLatin1Char('|') + i18n("All Supported Files") + "\n* " + QLatin1Char('|') + i18n("All Files"); - KFileDialog *d = new KFileDialog(KUrl("kfiledialog:///clipfolder"), dialogFilter, kapp->activeWindow()); + QPointer<KFileDialog> d = new KFileDialog(KUrl("kfiledialog:///clipfolder"), dialogFilter, kapp->activeWindow()); d->setOperationMode(KFileDialog::Opening); d->setMode(KFile::File); if (d->exec() == QDialog::Accepted) { -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:51
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/kdenlivesettingsdialog.cpp | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src/kdenlivesettingsdialog.cpp b/src/kdenlivesettingsdialog.cpp index 89ba2b1..b91654e 100644 --- a/src/kdenlivesettingsdialog.cpp +++ b/src/kdenlivesettingsdialog.cpp @@ -480,34 +480,45 @@ void KdenliveSettingsDialog::showPage(int page, int option) void KdenliveSettingsDialog::slotEditVideoApplication() { KService::Ptr service; - KOpenWithDialog dlg(KUrl::List(), i18n("Select default video player"), m_configEnv.kcfg_defaultplayerapp->text(), this); - if (dlg.exec() != QDialog::Accepted) + QPointer<KOpenWithDialog> dlg = new KOpenWithDialog(KUrl::List(), i18n("Select default video player"), m_configEnv.kcfg_defaultplayerapp->text(), this); + if (dlg->exec() != QDialog::Accepted) + { + delete dlg; return; + } - service = dlg.service(); + service = dlg->service(); m_configEnv.kcfg_defaultplayerapp->setText(service->exec()); + delete dlg; } void KdenliveSettingsDialog::slotEditAudioApplication() { KService::Ptr service; - KOpenWithDialog dlg(KUrl::List(), i18n("Select default audio editor"), m_configEnv.kcfg_defaultaudioapp->text(), this); - if (dlg.exec() != QDialog::Accepted) + QPointer<KOpenWithDialog> dlg = new KOpenWithDialog(KUrl::List(), i18n("Select default audio editor"), m_configEnv.kcfg_defaultaudioapp->text(), this); + if (dlg->exec() != QDialog::Accepted) + { + delete dlg; return; + } - service = dlg.service(); + service = dlg->service(); m_configEnv.kcfg_defaultaudioapp->setText(service->exec()); + delete dlg; } void KdenliveSettingsDialog::slotEditImageApplication() { KService::Ptr service; - KOpenWithDialog dlg(KUrl::List(), i18n("Select default image editor"), m_configEnv.kcfg_defaultimageapp->text(), this); - if (dlg.exec() != QDialog::Accepted) + QPointer<KOpenWithDialog> dlg = new KOpenWithDialog(KUrl::List(), i18n("Select default image editor"), m_configEnv.kcfg_defaultimageapp->text(), this); + if (dlg->exec() != QDialog::Accepted) + { + delete dlg; return; - - service = dlg.service(); + } + service = dlg->service(); m_configEnv.kcfg_defaultimageapp->setText(service->exec()); + delete dlg; } #ifdef USE_JOGSHUTTLE @@ -988,7 +999,7 @@ void KdenliveSettingsDialog::slotManageEncodingProfile() if (m_configCapture.tabWidget->currentIndex() == 1) type = 1; else if (m_configCapture.tabWidget->currentIndex() == 3) type = 2; } - EncodingProfilesDialog *d = new EncodingProfilesDialog(type); + QPointer<EncodingProfilesDialog> d = new EncodingProfilesDialog(type); d->exec(); delete d; loadEncodingProfiles(); @@ -1076,7 +1087,7 @@ void KdenliveSettingsDialog::slotUpdateProxyProfile(int ix) void KdenliveSettingsDialog::slotEditVideo4LinuxProfile() { QString vl4ProfilePath = KStandardDirs::locateLocal("appdata", "profiles/video4linux"); - ProfilesDialog *w = new ProfilesDialog(vl4ProfilePath); + QPointer<ProfilesDialog> w = new ProfilesDialog(vl4ProfilePath); if (w->exec() == QDialog::Accepted) { // save and update profile loadCurrentV4lProfileInfo(); -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:51
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 32d519a..858a9a1 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -1356,14 +1356,15 @@ void CustomTrackView::editItemDuration() else getClipAvailableSpace(item, minimum, maximum); - ClipDurationDialog d(item, m_document->timecode(), minimum, maximum, this); - if (d.exec() == QDialog::Accepted) { + QPointer<ClipDurationDialog> d = new ClipDurationDialog(item, + m_document->timecode(), minimum, maximum, this); + if (d->exec() == QDialog::Accepted) { ItemInfo clipInfo = item->info(); ItemInfo startInfo = clipInfo; if (item->type() == TRANSITIONWIDGET) { // move & resize transition - clipInfo.startPos = d.startPos(); - clipInfo.endPos = clipInfo.startPos + d.duration(); + clipInfo.startPos = d->startPos(); + clipInfo.endPos = clipInfo.startPos + d->duration(); clipInfo.track = item->track(); MoveTransitionCommand *command = new MoveTransitionCommand(this, startInfo, clipInfo, true); updateTrackDuration(clipInfo.track, command); @@ -1373,10 +1374,10 @@ void CustomTrackView::editItemDuration() ClipItem *clip = static_cast<ClipItem *>(item); QUndoCommand *moveCommand = new QUndoCommand(); moveCommand->setText(i18n("Edit clip")); - if (d.duration() < item->cropDuration() || d.cropStart() != clipInfo.cropStart) { + if (d->duration() < item->cropDuration() || d->cropStart() != clipInfo.cropStart) { // duration was reduced, so process it first - clipInfo.endPos = clipInfo.startPos + d.duration(); - clipInfo.cropStart = d.cropStart(); + clipInfo.endPos = clipInfo.startPos + d->duration(); + clipInfo.cropStart = d->cropStart(); resizeClip(startInfo, clipInfo); new ResizeClipCommand(this, startInfo, clipInfo, false, true, moveCommand); @@ -1384,18 +1385,18 @@ void CustomTrackView::editItemDuration() new ResizeClipCommand(this, startInfo, clipInfo, false, true, moveCommand); } - if (d.startPos() != clipInfo.startPos) { + if (d->startPos() != clipInfo.startPos) { startInfo = clipInfo; - clipInfo.startPos = d.startPos(); + clipInfo.startPos = d->startPos(); clipInfo.endPos = item->endPos() + (clipInfo.startPos - startInfo.startPos); new MoveClipCommand(this, startInfo, clipInfo, true, moveCommand); } - if (d.duration() > item->cropDuration()) { + if (d->duration() > item->cropDuration()) { // duration was increased, so process it after move startInfo = clipInfo; - clipInfo.endPos = clipInfo.startPos + d.duration(); - clipInfo.cropStart = d.cropStart(); + clipInfo.endPos = clipInfo.startPos + d->duration(); + clipInfo.cropStart = d->cropStart(); resizeClip(startInfo, clipInfo); new ResizeClipCommand(this, startInfo, clipInfo, false, true, moveCommand); @@ -1405,6 +1406,7 @@ void CustomTrackView::editItemDuration() updateTrackDuration(clipInfo.track, moveCommand); m_commandStack->push(moveCommand); } + delete d; } } else { emit displayMessage(i18n("Item is locked"), ErrorMessage); -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:51
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index e6b71d5..8c3a8a9 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -5260,10 +5260,14 @@ void CustomTrackView::slotAddGuide(bool dialog) { CommentedTime marker(GenTime(m_cursorPos, m_document->fps()), i18n("Guide")); if (dialog) { - MarkerDialog d(NULL, marker, m_document->timecode(), i18n("Add Guide"), this); - if (d.exec() != QDialog::Accepted) return; - marker = d.newMarker(); - + QPointer<MarkerDialog> d = new MarkerDialog(NULL, marker, + m_document->timecode(), i18n("Add Guide"), this); + if (d->exec() != QDialog::Accepted) { + delete d; + return; + } + marker = d->newMarker(); + delete d; } else { marker.setComment(m_document->timecode().getDisplayTimecodeFromFrames(m_cursorPos, false)); } -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:53
|
Use true and false instead and krazy2 complains about them. --- src/onmonitoritems/rotoscoping/graphicsgems.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/onmonitoritems/rotoscoping/graphicsgems.h b/src/onmonitoritems/rotoscoping/graphicsgems.h index 88ec988..b9606d0 100644 --- a/src/onmonitoritems/rotoscoping/graphicsgems.h +++ b/src/onmonitoritems/rotoscoping/graphicsgems.h @@ -130,14 +130,6 @@ if (!(x)) fprintf(stderr," Assert failed: x\n"); /* booleans */ /************/ -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - #define ON 1 #define OFF 0 typedef int boolean; /* boolean data type */ -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:53
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/recmonitor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/recmonitor.cpp b/src/recmonitor.cpp index 83b3ec1..1ffd419 100644 --- a/src/recmonitor.cpp +++ b/src/recmonitor.cpp @@ -884,7 +884,7 @@ void RecMonitor::manageCapturedFiles() kDebug() << capturedFiles; if (capturedFiles.count() > 0) { - ManageCapturesDialog *d = new ManageCapturesDialog(capturedFiles, this); + QPointer<ManageCapturesDialog> d = new ManageCapturesDialog(capturedFiles, this); if (d->exec() == QDialog::Accepted) { emit addProjectClipList(d->importFiles()); } -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:54
|
--- src/jogshuttleconfig.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/jogshuttleconfig.h b/src/jogshuttleconfig.h index 489ce4e..8b4fcc0 100644 --- a/src/jogshuttleconfig.h +++ b/src/jogshuttleconfig.h @@ -1,6 +1,5 @@ /* - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> + Copyright (C) 2012 Jean-Baptiste Mardelle (jb...@kd...) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:54
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 431370c..3d4d17f 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -5982,17 +5982,19 @@ void CustomTrackView::slotDeleteTrack(int ix) void CustomTrackView::slotConfigTracks(int ix) { - TracksConfigDialog d(m_document, ix, parentWidget()); - if (d.exec() == QDialog::Accepted) { - ConfigTracksCommand *configTracks = new ConfigTracksCommand(this, m_document->tracksList(), d.tracksList()); + QPointer<TracksConfigDialog> d = new TracksConfigDialog(m_document, + ix, parentWidget()); + if (d->exec() == QDialog::Accepted) { + ConfigTracksCommand *configTracks = new ConfigTracksCommand(this, m_document->tracksList(), d->tracksList()); m_commandStack->push(configTracks); - QList <int> toDelete = d.deletedTracks(); + QList <int> toDelete = d->deletedTracks(); for (int i = 0; i < toDelete.count(); ++i) { TrackInfo info = m_document->trackInfoAt(m_document->tracksCount() - toDelete.at(i) + i - 1); deleteTimelineTrack(toDelete.at(i) - i, info); } setDocumentModified(); } + delete d; } void CustomTrackView::deleteTimelineTrack(int ix, TrackInfo trackinfo) -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:55
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 38f557d..35927ed 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -5931,21 +5931,21 @@ void CustomTrackView::saveThumbnails() void CustomTrackView::slotInsertTrack(int ix) { - TrackDialog d(m_document, parentWidget()); - d.comboTracks->setCurrentIndex(ix); - d.label->setText(i18n("Insert track")); - d.setWindowTitle(i18n("Insert New Track")); + QPointer<TrackDialog> d = new TrackDialog(m_document, parentWidget()); + d->comboTracks->setCurrentIndex(ix); + d->label->setText(i18n("Insert track")); + d->setWindowTitle(i18n("Insert New Track")); - if (d.exec() == QDialog::Accepted) { - ix = d.comboTracks->currentIndex(); - if (d.before_select->currentIndex() == 1) + if (d->exec() == QDialog::Accepted) { + ix = d->comboTracks->currentIndex(); + if (d->before_select->currentIndex() == 1) ix++; TrackInfo info; info.duration = 0; info.isMute = false; info.isLocked = false; info.effectsList = EffectsList(true); - if (d.video_track->isChecked()) { + if (d->video_track->isChecked()) { info.type = VIDEOTRACK; info.isBlind = false; } else { @@ -5956,6 +5956,7 @@ void CustomTrackView::slotInsertTrack(int ix) m_commandStack->push(addTrack); setDocumentModified(); } + delete d; } void CustomTrackView::slotDeleteTrack(int ix) -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:56
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b296baa..c28579e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1848,7 +1848,7 @@ void MainWindow::readOptions() void MainWindow::slotRunWizard() { - Wizard *w = new Wizard(false, this); + QPointer<Wizard> w = new Wizard(false, this); if (w->exec() == QDialog::Accepted && w->isOk()) { w->adjustSettings(); } -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:56
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 139654c..38f557d 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -5308,11 +5308,13 @@ void CustomTrackView::slotEditTimeLineGuide() { if (m_dragGuide == NULL) return; CommentedTime guide = m_dragGuide->info(); - MarkerDialog d(NULL, guide, m_document->timecode(), i18n("Edit Guide"), this); - if (d.exec() == QDialog::Accepted) { - EditGuideCommand *command = new EditGuideCommand(this, guide.time(), guide.comment(), d.newMarker().time(), d.newMarker().comment(), true); + QPointer<MarkerDialog> d = new MarkerDialog(NULL, guide, + m_document->timecode(), i18n("Edit Guide"), this); + if (d->exec() == QDialog::Accepted) { + EditGuideCommand *command = new EditGuideCommand(this, guide.time(), guide.comment(), d->newMarker().time(), d->newMarker().comment(), true); m_commandStack->push(command); } + delete d; } void CustomTrackView::slotDeleteGuide(int guidePos) -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:56
|
Copied from kiss_fft.c. --- src/lib/external/kiss_fft/kiss_fft.h | 14 ++++++++++++++ src/lib/external/kiss_fft/tools/kfc.h | 15 +++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/lib/external/kiss_fft/kiss_fft.h b/src/lib/external/kiss_fft/kiss_fft.h index 2dff67a..6b650d1 100644 --- a/src/lib/external/kiss_fft/kiss_fft.h +++ b/src/lib/external/kiss_fft/kiss_fft.h @@ -1,6 +1,20 @@ #ifndef KISS_FFT_H #define KISS_FFT_H +/* +Copyright (c) 2003-2010, Mark Borgerding + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + #include "config-kdenlive.h" #include <stdlib.h> diff --git a/src/lib/external/kiss_fft/tools/kfc.h b/src/lib/external/kiss_fft/tools/kfc.h index 321a88a..ea31a99 100644 --- a/src/lib/external/kiss_fft/tools/kfc.h +++ b/src/lib/external/kiss_fft/tools/kfc.h @@ -1,5 +1,20 @@ #ifndef KFC_H #define KFC_H + +/* +Copyright (c) 2003-2010, Mark Borgerding + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + #include "../kiss_fft.h" #ifdef __cplusplus -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:56
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 82715d9..e6b71d5 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -3183,10 +3183,15 @@ void CustomTrackView::slotInsertSpace() pos = GenTime((int)(mapToScene(m_menuPosition).x()), m_document->fps()); track = (int)(mapToScene(m_menuPosition).y() / m_tracksHeight) + 1; } - SpacerDialog d(GenTime(65, m_document->fps()), m_document->timecode(), track, m_document->tracksList(), this); - if (d.exec() != QDialog::Accepted) return; - GenTime spaceDuration = d.selectedDuration(); - track = d.selectedTrack(); + QPointer<SpacerDialog> d = new SpacerDialog(GenTime(65, m_document->fps()), + m_document->timecode(), track, m_document->tracksList(), this); + if (d->exec() != QDialog::Accepted) { + delete d; + return; + } + GenTime spaceDuration = d->selectedDuration(); + track = d->selectedTrack(); + delete d; QList<QGraphicsItem *> items; if (track >= 0) { -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:57
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/titlewidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/titlewidget.cpp b/src/titlewidget.cpp index d2e35d8..455471b 100644 --- a/src/titlewidget.cpp +++ b/src/titlewidget.cpp @@ -1847,7 +1847,7 @@ void TitleWidget::saveTitle(KUrl url) embed_image=true; } if (url.isEmpty()) { - KFileDialog *fs = new KFileDialog(KUrl(m_projectTitlePath), "application/x-kdenlivetitle", this); + QPointer<KFileDialog> fs = new KFileDialog(KUrl(m_projectTitlePath), "application/x-kdenlivetitle", this); fs->setOperationMode(KFileDialog::Saving); fs->setMode(KFile::File); fs->setConfirmOverwrite(true); -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:57
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 8c3a8a9..139654c 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -5295,11 +5295,12 @@ void CustomTrackView::slotEditGuide(int guidePos) void CustomTrackView::slotEditGuide(CommentedTime guide) { - MarkerDialog d(NULL, guide, m_document->timecode(), i18n("Edit Guide"), this); - if (d.exec() == QDialog::Accepted) { - EditGuideCommand *command = new EditGuideCommand(this, guide.time(), guide.comment(), d.newMarker().time(), d.newMarker().comment(), true); + QPointer<MarkerDialog> d = new MarkerDialog(NULL, guide, m_document->timecode(), i18n("Edit Guide"), this); + if (d->exec() == QDialog::Accepted) { + EditGuideCommand *command = new EditGuideCommand(this, guide.time(), guide.comment(), d->newMarker().time(), d->newMarker().comment(), true); m_commandStack->push(command); } + delete d; } -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:58
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b64eba7..81228a9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2062,7 +2062,7 @@ void MainWindow::openFile(const KUrl &url) if (mime.data()->is("application/x-compressed-tar")) { // Opening a compressed project file, we need to process it kDebug()<<"Opening archive, processing"; - ArchiveWidget *ar = new ArchiveWidget(url); + QPointer<ArchiveWidget> ar = new ArchiveWidget(url); if (ar->exec() == QDialog::Accepted) openFile(KUrl(ar->extractedProjectFile())); delete ar; return; -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:58
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4529d9b..4edb4b5 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2306,7 +2306,7 @@ void MainWindow::slotDetectAudioDriver() void MainWindow::slotEditProjectSettings() { QPoint p = m_activeDocument->getTracksCount(); - ProjectSettings *w = new ProjectSettings(m_projectList, m_activeDocument->metadata(), m_activeTimeline->projectView()->extractTransitionsLumas(), p.x(), p.y(), m_activeDocument->projectFolder().path(), true, !m_activeDocument->isModified(), this); + QPointer<ProjectSettings> w = new ProjectSettings(m_projectList, m_activeDocument->metadata(), m_activeTimeline->projectView()->extractTransitionsLumas(), p.x(), p.y(), m_activeDocument->projectFolder().path(), true, !m_activeDocument->isModified(), this); connect(w, SIGNAL(disableProxies()), this, SLOT(slotDisableProxies())); if (w->exec() == QDialog::Accepted) { -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:59
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3cef476..aba469b 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3847,9 +3847,10 @@ void MainWindow::slotDvdWizard(const QString &url, const QString &profile) // We must stop the monitors since we create a new on in the dvd wizard m_clipMonitor->stop(); m_projectMonitor->stop(); - DvdWizard w(url, profile, this); - w.exec(); + QPointer<DvdWizard> w = new DvdWizard(url, profile, this); + w->exec(); m_projectMonitor->start(); + delete w; } void MainWindow::slotShowTimeline(bool show) -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:51:00
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4edb4b5..d91153e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2833,9 +2833,11 @@ void MainWindow::slotAddClipMarker() } QString id = clip->getId(); CommentedTime marker(pos, i18n("Marker")); - MarkerDialog d(clip, marker, m_activeDocument->timecode(), i18n("Add Marker"), this); - if (d.exec() == QDialog::Accepted) - m_activeTimeline->projectView()->slotAddClipMarker(id, d.newMarker().time(), d.newMarker().comment()); + QPointer<MarkerDialog> d = new MarkerDialog(clip, marker, + m_activeDocument->timecode(), i18n("Add Marker"), this); + if (d->exec() == QDialog::Accepted) + m_activeTimeline->projectView()->slotAddClipMarker(id, d->newMarker().time(), d->newMarker().comment()); + delete d; } void MainWindow::slotDeleteClipMarker() -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:50:50
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/customtrackview.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 858a9a1..82715d9 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -3076,15 +3076,19 @@ void CustomTrackView::slotRemoveSpace() if (m_menuPosition.isNull()) { pos = GenTime(cursorPos(), m_document->fps()); - TrackDialog d(m_document, parentWidget()); - d.comboTracks->setCurrentIndex(m_selectedTrack); - d.label->setText(i18n("Track")); - d.before_select->setHidden(true); - d.setWindowTitle(i18n("Remove Space")); - d.video_track->setHidden(true); - d.audio_track->setHidden(true); - if (d.exec() != QDialog::Accepted) return; - track = d.comboTracks->currentIndex(); + QPointer<TrackDialog> d = new TrackDialog(m_document, parentWidget()); + d->comboTracks->setCurrentIndex(m_selectedTrack); + d->label->setText(i18n("Track")); + d->before_select->setHidden(true); + d->setWindowTitle(i18n("Remove Space")); + d->video_track->setHidden(true); + d->audio_track->setHidden(true); + if (d->exec() != QDialog::Accepted) { + delete d; + return; + } + track = d->comboTracks->currentIndex(); + delete d; } else { pos = GenTime((int)(mapToScene(m_menuPosition).x()), m_document->fps()); track = (int)(mapToScene(m_menuPosition).y() / m_tracksHeight); -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:51:01
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 77e58d2..78aa154 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3272,7 +3272,7 @@ void MainWindow::slotShowClipProperties(DocClipBase *clip) return; } QString path = clip->getProperty("resource"); - TitleWidget *dia_ui = new TitleWidget(KUrl(), m_activeDocument->timecode(), titlepath, m_projectMonitor->render, this); + QPointer<TitleWidget> dia_ui = new TitleWidget(KUrl(), m_activeDocument->timecode(), titlepath, m_projectMonitor->render, this); QDomDocument doc; doc.setContent(clip->getProperty("xmldata")); dia_ui->setXml(doc); -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:51:03
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index aba469b..f15afb1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -4470,7 +4470,7 @@ void MainWindow::slotOpenBackupDialog(const KUrl url) projectId = m_activeDocument->getDocumentProperty("documentid"); } - BackupWidget *dia = new BackupWidget(projectFile, projectFolder, projectId, this); + QPointer<BackupWidget> dia = new BackupWidget(projectFile, projectFolder, projectId, this); if (dia->exec() == QDialog::Accepted) { QString requestedBackup = dia->selectedFile(); m_activeDocument->backupLastSavedVersion(projectFile.path()); -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:51:03
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/mainwindow.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 66ae06a..3cef476 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3756,13 +3756,14 @@ int MainWindow::getNewStuff(const QString &configFile) { KNS3::Entry::List entries; #if KDE_IS_VERSION(4,3,80) - KNS3::DownloadDialog dialog(configFile); - dialog.exec(); - entries = dialog.changedEntries(); + QPointer<KNS3::DownloadDialog> dialog = new KNS3::DownloadDialog(configFile); + dialog->exec(); + entries = dialog->changedEntries(); foreach(const KNS3::Entry & entry, entries) { if (entry.status() == KNS3::Entry::Installed) kDebug() << "// Installed files: " << entry.installedFiles(); } + delete dialog; #else KNS::Engine engine(0); if (engine.init(configFile)) -- 1.7.10.4 |
From: Mikko R. <mik...@ik...> - 2012-06-28 13:51:05
|
Fixes crashes if parent is destroyed. Found by krazy. Details at: http://blogs.kde.org/node/3919 --- src/projectlist.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/projectlist.cpp b/src/projectlist.cpp index ff9d174..6c77cd7 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -1642,7 +1642,7 @@ void ProjectList::slotAddClip(const QList <QUrl> givenList, const QString &group l->addWidget(c); l->addStretch(5); f->setLayout(l); - KFileDialog *d = new KFileDialog(KUrl("kfiledialog:///clipfolder"), dialogFilter, kapp->activeWindow(), f); + QPointer<KFileDialog> d = new KFileDialog(KUrl("kfiledialog:///clipfolder"), dialogFilter, kapp->activeWindow(), f); d->setOperationMode(KFileDialog::Opening); d->setMode(KFile::Files); if (d->exec() == QDialog::Accepted) { @@ -1808,7 +1808,7 @@ void ProjectList::slotAddColorClip() if (!m_commandStack) kDebug() << "!!!!!!!!!!!!!!!! NO CMD STK"; - QDialog *dia = new QDialog(this); + QPointer<QDialog> dia = new QDialog(this); Ui::ColorClip_UI dia_ui; dia_ui.setupUi(dia); dia->setWindowTitle(i18n("Color Clip")); @@ -1879,7 +1879,7 @@ void ProjectList::slotAddTitleTemplateClip() const QString path = m_doc->projectFolder().path(KUrl::AddTrailingSlash) + "titles/"; QStringList templateFiles = QDir(path).entryList(filter, QDir::Files); - QDialog *dia = new QDialog(this); + QPointer<QDialog> dia = new QDialog(this); Ui::TemplateClip_UI dia_ui; dia_ui.setupUi(dia); for (int i = 0; i < templateFiles.size(); ++i) @@ -2722,7 +2722,7 @@ void ProjectList::slotCutClipJob(const QString &id, QPoint zone) QString timeIn = Timecode::getStringTimecode(in, clipFps, true); QString timeOut = Timecode::getStringTimecode(duration, clipFps, true); - QDialog *d = new QDialog(this); + QPointer<QDialog> d = new QDialog(this); Ui::CutJobDialog_UI ui; ui.setupUi(d); ui.extra_params->setVisible(false); @@ -3384,7 +3384,7 @@ void ProjectList::startClipFilterJob(const QString &filterName, const QString &c else { destination = item->clipUrl().directory(); } - ClipStabilize *d = new ClipStabilize(destination, ids.count(), filterName); + QPointer<ClipStabilize> d = new ClipStabilize(destination, ids.count(), filterName); if (d->exec() == QDialog::Accepted) { processClipJob(ids, d->destination(), d->autoAddClip(), d->params(), d->desc()); } -- 1.7.10.4 |