From: Jean-Baptiste M. <jb...@kd...> - 2014-05-18 10:36:19
|
Git commit 833de45388871a4c27696d5f501283b12b01eb0a by Jean-Baptiste Mardelle. Committed on 18/05/2014 at 10:35. Pushed by mardelle into branch 'master'. Fix crashes when closing Kdenlive M +2 -3 src/mainwindow.cpp M +0 -29 src/project/projectmanager.cpp M +0 -1 src/project/projectmanager.h http://commits.kde.org/kdenlive/833de45388871a4c27696d5f501283b12b01eb0a diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2c0098c..7046eca 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -655,10 +655,10 @@ MainWindow::~MainWindow() m_effectStack->slotClipItemSelected(NULL); m_transitionConfig->slotTransitionItemSelected(NULL, 0, QPoint(), false); + delete pCore; if (m_projectMonitor) m_projectMonitor->stop(); if (m_clipMonitor) m_clipMonitor->stop(); - delete m_activeTimeline; delete m_effectStack; delete m_transitionConfig; delete m_projectMonitor; @@ -690,8 +690,7 @@ bool MainWindow::queryClose() } } saveOptions(); - - return pCore->projectManager()->queryClose(); + return pCore->projectManager()->closeCurrentDocument(); } void MainWindow::loadPlugins() diff --git a/src/project/projectmanager.cpp b/src/project/projectmanager.cpp index 906f344..ddd20c3 100644 --- a/src/project/projectmanager.cpp +++ b/src/project/projectmanager.cpp @@ -69,35 +69,6 @@ void ProjectManager::init(const KUrl& projectUrl, const QString& clipList) } } -bool ProjectManager::queryClose() -{ - // warn the user to save if document is modified and we have clips in our project list - if (m_project && m_project->isModified() && - ((pCore->window()->projectList()->documentClipList().isEmpty() && !m_project->url().isEmpty()) || - !pCore->window()->projectList()->documentClipList().isEmpty())) { - pCore->window()->raise(); - pCore->window()->activateWindow(); - QString message; - if (m_project->url().fileName().isEmpty()) { - message = i18n("Save changes to document?"); - } else { - message = i18n("The project <b>\"%1\"</b> has been changed.\nDo you want to save your changes?", m_project->url().fileName()); - } - switch (KMessageBox::warningYesNoCancel(pCore->window(), message)) { - case KMessageBox::Yes : - // save document here. If saving fails, return false; - return saveFile(); - case KMessageBox::No : - // User does not want to save the changes, clear recovery files - m_project->m_autosave->resize(0); - return true; - default: // cancel - return false; - } - } - return true; -} - void ProjectManager::newFile(bool showProjectSettings, bool force) { diff --git a/src/project/projectmanager.h b/src/project/projectmanager.h index fbc5476..0795c20 100644 --- a/src/project/projectmanager.h +++ b/src/project/projectmanager.h @@ -44,7 +44,6 @@ public: TrackView *currentTrackView(); void init(const KUrl &projectUrl, const QString &clipList); - bool queryClose(); void doOpenFile(const KUrl &url, KAutoSaveFile *stale); void recoverFiles(const QList<KAutoSaveFile *> &staleFiles, const KUrl &originUrl); |