summaryrefslogtreecommitdiffstats
path: root/filecopier.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2019-11-23 15:53:37 +0100
committerArno <arno@disconnect.de>2019-11-23 15:53:37 +0100
commit980f94e493c349c6c86f1b3d05753ce3cfba38d8 (patch)
treef5267e2fc7ad9c58668ee62834e8e006c3bf32bd /filecopier.cpp
parent30d61398cbb8a2694b648d3fceb119fbeaf756a1 (diff)
downloadShemovCleaner-980f94e493c349c6c86f1b3d05753ce3cfba38d8.tar.gz
ShemovCleaner-980f94e493c349c6c86f1b3d05753ce3cfba38d8.tar.bz2
ShemovCleaner-980f94e493c349c6c86f1b3d05753ce3cfba38d8.zip
Fix race in updateCopying
If the storage is fast enough, passing a bool to updateCopying does not suffice. Then the SIGNAL with inProgress == true could arrive *after* the work is already done, leaving the copy indicator in an inconsitent state. So check the QThread directly by ->isRunning() instead of passing a bool.
Diffstat (limited to 'filecopier.cpp')
-rw-r--r--filecopier.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/filecopier.cpp b/filecopier.cpp
index dd3f679..a77e051 100644
--- a/filecopier.cpp
+++ b/filecopier.cpp
@@ -25,7 +25,7 @@ void FileCopier::run(){
mAddJobMutex.unlock();
QString msg = QString(tr("Copy: %1 (%2/%3)")).arg(source).arg(QString::number(mCopied + 1)).arg(QString::number(mTotal));
QString cmsg = QString("%1/%2").arg(QString::number(mCopied + 1)).arg(QString::number(mTotal));
- emit copying(true, cmsg);
+ emit copying(cmsg);
emit message(msg);
QFile sFile(source);
if(sFile.copy(dest)){