diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index 75e2142b..3bd009da 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -2854,17 +2854,17 @@
-
+
-
+
-
+
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index 1adf2600..5914c81a 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -2854,17 +2854,17 @@
Plik wykonywalny '%1' nie działa w trybie kompatybilności z Windows.
-
+
Plik wykonywalny '%1' wymaga Qt v%2, znaleziono jednak Qt v%3.
-
+
Plik wykonywalny "%1" został skompilowany dla Qt "%2", znaleziono "%3".
-
+
Plik wykonywalny '%1' wymaga do uruchomienia Windows 2000 lub nowszego.
diff --git a/src/Config.h b/src/Config.h
index 4d164739..0fd19a8f 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 12
-#define VER_LAMEXP_BUILD 852
+#define VER_LAMEXP_BUILD 853
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index 7877b99e..0924720a 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -794,7 +794,7 @@ void MainWindow::dropEvent(QDropEvent *event)
*/
void MainWindow::closeEvent(QCloseEvent *event)
{
- if(m_banner->isVisible() || m_delayedFileTimer->isActive())
+ if((m_banner->isVisible() || m_delayedFileTimer->isActive()) && !lamexp_session_ending())
{
MessageBeep(MB_ICONEXCLAMATION);
event->ignore();
diff --git a/src/Dialog_SplashScreen.cpp b/src/Dialog_SplashScreen.cpp
index cbbea3bd..6876aa76 100644
--- a/src/Dialog_SplashScreen.cpp
+++ b/src/Dialog_SplashScreen.cpp
@@ -149,7 +149,7 @@ void SplashScreen::keyReleaseEvent(QKeyEvent *event)
void SplashScreen::closeEvent(QCloseEvent *event)
{
- if(!m_canClose) event->ignore();
+ if(!m_canClose && !lamexp_session_ending()) event->ignore();
}
bool SplashScreen::winEvent(MSG *message, long *result)
diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp
index f4c73099..d92a7a7c 100644
--- a/src/Dialog_Update.cpp
+++ b/src/Dialog_Update.cpp
@@ -270,7 +270,7 @@ void UpdateDialog::showEvent(QShowEvent *event)
void UpdateDialog::closeEvent(QCloseEvent *event)
{
- if(!closeButton->isEnabled())
+ if(!closeButton->isEnabled() && !lamexp_session_ending())
{
event->ignore();
}
diff --git a/src/Dialog_WorkingBanner.cpp b/src/Dialog_WorkingBanner.cpp
index 417e6649..e8a8d0a2 100644
--- a/src/Dialog_WorkingBanner.cpp
+++ b/src/Dialog_WorkingBanner.cpp
@@ -152,7 +152,7 @@ void WorkingBanner::keyReleaseEvent(QKeyEvent *event)
void WorkingBanner::closeEvent(QCloseEvent *event)
{
- if(!m_canClose) event->ignore();
+ if(!m_canClose && !lamexp_session_ending()) event->ignore();
}
bool WorkingBanner::winEvent(MSG *message, long *result)
diff --git a/src/Thread_Process.cpp b/src/Thread_Process.cpp
index ce58b2fb..bc688aa6 100644
--- a/src/Thread_Process.cpp
+++ b/src/Thread_Process.cpp
@@ -175,7 +175,7 @@ void ProcessThread::processFile()
//------------------------------------
//Update audio properties after decode
//------------------------------------
- if(bSuccess && IS_WAVE(m_audioFile))
+ if(bSuccess && !m_aborted && IS_WAVE(m_audioFile))
{
if(m_encoder->supportedSamplerates() || m_encoder->supportedBitdepths() || m_encoder->supportedChannelCount())
{
@@ -206,7 +206,7 @@ void ProcessThread::processFile()
//-----------------------
if(bSuccess)
{
- while(!m_filters.isEmpty())
+ while(!m_filters.isEmpty() && !m_aborted)
{
QString tempFile = generateTempFileName();
AbstractFilter *poFilter = m_filters.takeFirst();
@@ -228,14 +228,14 @@ void ProcessThread::processFile()
//-----------------
//Encode audio file
//-----------------
- if(bSuccess)
+ if(bSuccess && !m_aborted)
{
m_currentStep = EncodingStep;
bSuccess = m_encoder->encode(sourceFile, m_audioFile, outFileName, &m_aborted);
}
//Make sure output file exists
- if(bSuccess)
+ if(bSuccess && !m_aborted)
{
QFileInfo fileInfo(outFileName);
bSuccess = fileInfo.exists() && fileInfo.isFile() && (fileInfo.size() > 0);
@@ -244,7 +244,7 @@ void ProcessThread::processFile()
QThread::msleep(500);
//Report result
- emit processStateChanged(m_jobId, (bSuccess ? tr("Done.") : (m_aborted ? tr("Aborted!") : tr("Failed!"))), (bSuccess ? ProgressModel::JobComplete : ProgressModel::JobFailed));
+ emit processStateChanged(m_jobId, (m_aborted ? tr("Aborted!") : (bSuccess ? tr("Done.") : tr("Failed!"))), ((bSuccess && !m_aborted) ? ProgressModel::JobComplete : ProgressModel::JobFailed));
emit processStateFinished(m_jobId, outFileName, bSuccess);
qDebug("Process thread is done.");