From 664f109cb5948fdfd2409256fe86a2056e39b50b Mon Sep 17 00:00:00 2001 From: "Raine M. Ekman" Date: Thu, 16 Jan 2014 17:33:07 +0200 Subject: [PATCH] Export dialog: Make cancelling an export work immediately --- include/export_project_dialog.h | 1 + src/gui/export_project_dialog.cpp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/export_project_dialog.h b/include/export_project_dialog.h index 7f068e4b24f..5b906e00b8c 100644 --- a/include/export_project_dialog.h +++ b/include/export_project_dialog.h @@ -69,6 +69,7 @@ private slots: TrackVector m_unmutedBB; ProjectRenderer::ExportFileFormats m_ft; TrackVector m_tracksToRender; + ProjectRenderer* m_activeRenderer; } ; #endif diff --git a/src/gui/export_project_dialog.cpp b/src/gui/export_project_dialog.cpp index 2b3d8258d31..996e3e32321 100644 --- a/src/gui/export_project_dialog.cpp +++ b/src/gui/export_project_dialog.cpp @@ -105,6 +105,10 @@ void exportProjectDialog::reject() (*it)->abortProcessing(); } + if( m_activeRenderer ) { + m_activeRenderer->abortProcessing(); + } + QDialog::reject(); } @@ -144,6 +148,11 @@ void exportProjectDialog::closeEvent( QCloseEvent * _ce ) (*it)->abortProcessing(); } } + + if( m_activeRenderer && m_activeRenderer->isRunning() ) { + m_activeRenderer->abortProcessing(); + } + QDialog::closeEvent( _ce ); } @@ -172,9 +181,9 @@ void exportProjectDialog::popRender() // Pop next render job and start - ProjectRenderer* r = m_renderers.back(); + m_activeRenderer = m_renderers.back(); m_renderers.pop_back(); - render( r ); + render( m_activeRenderer ); }