From 020f1652bf08208458d53aa9d9fe038d1689b5d2 Mon Sep 17 00:00:00 2001 From: Oskar Wallgren Date: Mon, 3 Jul 2017 19:31:41 +0200 Subject: [PATCH] Clean up after render in ProjectRenderer destructor We need to wait with calling Mixer::restoreAudioDevice() and Mixer::changeQuality() after render until all threads have stopped. Moving these calls to ProjectRenderer::~ProjectRenderer() ensures all render theads are done. --- src/core/ProjectRenderer.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/core/ProjectRenderer.cpp b/src/core/ProjectRenderer.cpp index 10fb9eb0e..3c16bce96 100644 --- a/src/core/ProjectRenderer.cpp +++ b/src/core/ProjectRenderer.cpp @@ -103,6 +103,8 @@ ProjectRenderer::ProjectRenderer( const Mixer::qualitySettings & qualitySettings ProjectRenderer::~ProjectRenderer() { + Engine::mixer()->restoreAudioDevice(); // also deletes audio-dev + Engine::mixer()->changeQuality( m_oldQualitySettings ); } @@ -201,12 +203,8 @@ void ProjectRenderer::run() Engine::getSong()->stopExport(); - const QString f = m_fileDev->outputFile(); - - Engine::mixer()->restoreAudioDevice(); // also deletes audio-dev - Engine::mixer()->changeQuality( m_oldQualitySettings ); - // if the user aborted export-process, the file has to be deleted + const QString f = m_fileDev->outputFile(); if( m_abort ) { QFile( f ).remove();