diff options
author | Ryan Cao <70191398+ryanccn@users.noreply.github.com> | 2022-06-01 00:12:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-01 00:12:14 +0800 |
commit | e06bf17d13b991fea5e49ff23b6fe9c8f5540e02 (patch) | |
tree | 3456de4848d8ef68f954a1fe5c288e62a075d789 /launcher/tasks | |
parent | 9673dac22b0ff81a54847d5db5438c099a6df587 (diff) | |
parent | 04a3669fc470130a5d7f2dfd32f06a3f2aceb165 (diff) | |
download | PrismLauncher-e06bf17d13b991fea5e49ff23b6fe9c8f5540e02.tar.gz PrismLauncher-e06bf17d13b991fea5e49ff23b6fe9c8f5540e02.tar.bz2 PrismLauncher-e06bf17d13b991fea5e49ff23b6fe9c8f5540e02.zip |
Merge branch 'PolyMC:develop' into macos-app-heuristic
Diffstat (limited to 'launcher/tasks')
-rw-r--r-- | launcher/tasks/SequentialTask.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/launcher/tasks/SequentialTask.cpp b/launcher/tasks/SequentialTask.cpp index 1573e476..ee57cac1 100644 --- a/launcher/tasks/SequentialTask.cpp +++ b/launcher/tasks/SequentialTask.cpp @@ -33,11 +33,22 @@ void SequentialTask::executeTask() bool SequentialTask::abort() { - bool succeeded = true; - for (auto& task : m_queue) { - if (!task->abort()) succeeded = false; + if(m_currentIndex == -1 || m_currentIndex >= m_queue.size()) { + if(m_currentIndex == -1) { + // Don't call emitAborted() here, we want to bypass the 'is the task running' check + emit aborted(); + emit finished(); + } + m_queue.clear(); + return true; } + bool succeeded = m_queue[m_currentIndex]->abort(); + m_queue.clear(); + + if(succeeded) + emitAborted(); + return succeeded; } @@ -76,7 +87,7 @@ void SequentialTask::subTaskProgress(qint64 current, qint64 total) setProgress(0, 100); return; } - setProgress(m_currentIndex, m_queue.count()); + setProgress(m_currentIndex + 1, m_queue.count()); m_stepProgress = current; m_stepTotalProgress = total; |