From 66d36b30718ae57177294d1a0f967b9e67cb3bb0 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jun 2011 11:15:20 +0200 Subject: [PATCH] MainWindow: skip autosave while playing or exporting It's a very bad idea to autosave while playing as this causes severe underrun problems. Therefore instead of autosaving, trigger a re-try timer for 10 seconds. Closes #3317776. --- src/gui/MainWindow.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 75cf62d9e..4966ff1b4 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -1047,8 +1047,17 @@ void MainWindow::browseHelp( void ) void MainWindow::autoSave() { - QDir work(configManager::inst()->workingDir()); - engine::getSong()->saveProjectFile(work.absoluteFilePath("recover.mmp")); + if( !( engine::getSong()->isPlaying() || + engine::getSong()->isExporting() ) ) + { + QDir work(configManager::inst()->workingDir()); + engine::getSong()->saveProjectFile(work.absoluteFilePath("recover.mmp")); + } + else + { + // try again in 10 seconds + QTimer::singleShot( 10*1000, this, SLOT( autoSave() ) ); + } }