summaryrefslogtreecommitdiffstats
path: root/src/manager-lib/packagemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/manager-lib/packagemanager.cpp')
-rw-r--r--src/manager-lib/packagemanager.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/manager-lib/packagemanager.cpp b/src/manager-lib/packagemanager.cpp
index 7b73f5b0..30731f83 100644
--- a/src/manager-lib/packagemanager.cpp
+++ b/src/manager-lib/packagemanager.cpp
@@ -1254,9 +1254,7 @@ void PackageManager::executeNextTask()
AsynchronousTask *task = d->incomingTaskList.takeFirst();
- if (task->hasFailed()) {
- task->setState(AsynchronousTask::Failed);
-
+ if (task->state() == AsynchronousTask::Failed) {
handleFailure(task);
task->deleteLater();
@@ -1285,11 +1283,10 @@ void PackageManager::executeNextTask()
});
connect(task, &AsynchronousTask::finished, this, [this, task]() {
- task->setState(task->hasFailed() ? AsynchronousTask::Failed : AsynchronousTask::Finished);
-
- if (task->hasFailed()) {
+ if (task->state() == AsynchronousTask::Failed) {
handleFailure(task);
} else {
+ task->setState(AsynchronousTask::Finished);
qCDebug(LogInstaller) << "emit finished" << task->id();
emit taskFinished(task->id());
}