From cd9180c69afe41b37d88cd95f11fd54dd542f301 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Wed, 19 Feb 2020 22:50:48 +0800 Subject: [PATCH] fix: removing modpack with incomplete installation --- .../main/java/org/jackhuang/hmcl/download/VersionList.java | 2 +- .../java/org/jackhuang/hmcl/task/CancellableTaskExecutor.java | 4 ++-- .../main/java/org/jackhuang/hmcl/task/FileDownloadTask.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/VersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/VersionList.java index 4f2378566..647dec2a3 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/VersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/VersionList.java @@ -86,7 +86,7 @@ public abstract class VersionList { } public Task loadAsync(String gameVersion) { - return Task.composeAsync(() -> { + return Task.composeAsync(null, () -> { lock.readLock().lock(); boolean loaded; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CancellableTaskExecutor.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CancellableTaskExecutor.java index cfe9f1539..ad7e076c0 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CancellableTaskExecutor.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CancellableTaskExecutor.java @@ -143,7 +143,7 @@ public class CancellableTaskExecutor extends TaskExecutor { .findAny().orElse(null); if (!doDependentsSucceeded && task.isRelyingOnDependents() || cancelled.get()) { task.setException(dependentsException); - throw new CancellationException(); + throw new ExecutionException(dependentsException); } if (doDependentsSucceeded) @@ -183,7 +183,7 @@ public class CancellableTaskExecutor extends TaskExecutor { if (!doDependenciesSucceeded && task.isRelyingOnDependencies()) { Logging.LOG.severe("Subtasks failed for " + task.getName()); task.setException(dependenciesException); - throw new CancellationException(); + throw new ExecutionException(dependenciesException); } flag = true; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java index cf0236f6e..14ce4a34f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java @@ -211,7 +211,7 @@ public class FileDownloadTask extends Task { Exception exception = null; for (int repeat = 0; repeat < retry * urls.size(); repeat++) { - URL url = urls.get(repeat / urls.size()); + URL url = urls.get(repeat / retry); if (isCancelled()) { break; }