summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libs/installer/extractarchiveoperation.cpp8
-rw-r--r--src/libs/installer/extractarchiveoperation.h1
2 files changed, 6 insertions, 3 deletions
diff --git a/src/libs/installer/extractarchiveoperation.cpp b/src/libs/installer/extractarchiveoperation.cpp
index c41f029e3..128327855 100644
--- a/src/libs/installer/extractarchiveoperation.cpp
+++ b/src/libs/installer/extractarchiveoperation.cpp
@@ -67,6 +67,8 @@ bool ExtractArchiveOperation::performOperation()
connect(runnable, &Runnable::finished, &receiver, &Receiver::runnableFinished,
Qt::QueuedConnection);
+ m_files.clear();
+
QEventLoop loop;
connect(&receiver, &Receiver::finished, &loop, &QEventLoop::quit);
if (QThreadPool::globalInstance()->tryStart(runnable)) {
@@ -77,6 +79,8 @@ bool ExtractArchiveOperation::performOperation()
receiver.runnableFinished(true, QString());
}
+ setValue(QLatin1String("files"), m_files);
+
// TODO: Use backups for rollback, too? Doesn't work for uninstallation though.
// delete all backups we can delete right now, remember the rest
@@ -121,9 +125,7 @@ bool ExtractArchiveOperation::testOperation()
*/
void ExtractArchiveOperation::fileFinished(const QString &filename)
{
- QStringList files = value(QLatin1String("files")).toStringList();
- files.prepend(filename);
- setValue(QLatin1String("files"), files);
+ m_files.prepend(filename);
emit outputTextChanged(QDir::toNativeSeparators(filename));
}
diff --git a/src/libs/installer/extractarchiveoperation.h b/src/libs/installer/extractarchiveoperation.h
index 45c67a9cb..3e75a9bb9 100644
--- a/src/libs/installer/extractarchiveoperation.h
+++ b/src/libs/installer/extractarchiveoperation.h
@@ -56,6 +56,7 @@ private Q_SLOTS:
void fileFinished(const QString &progress);
private:
+ QStringList m_files;
class Callback;
class Runnable;
class Receiver;