From a96fe298b887ab73da7c3ab495cc80734d68d0af Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 26 Nov 2022 21:43:03 +0800 Subject: [PATCH] fix #1108 (#1882) close #1791 close #1868 --- .../java/org/jackhuang/hmcl/ui/versions/ModUpdatesPage.java | 6 +++--- HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModUpdatesPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModUpdatesPage.java index f2a9e858e..092afed4b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModUpdatesPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModUpdatesPage.java @@ -277,9 +277,7 @@ public class ModUpdatesPage extends BorderPane implements DecoratorPage { dependents = mods.stream() .map(mod -> { return Task - .runAsync(Schedulers.javafx(), () -> { - mod.getKey().setOld(true); - }) + .runAsync(Schedulers.javafx(), () -> mod.getKey().setOld(true)) .thenComposeAsync(() -> { FileDownloadTask task = new FileDownloadTask( new URL(mod.getValue().getFile().getUrl()), @@ -326,6 +324,8 @@ public class ModUpdatesPage extends BorderPane implements DecoratorPage { @Override public void execute() throws Exception { + if (!isDependentsSucceeded()) + throw getException(); } } } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java index 774f77ef0..0e2f60a27 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java @@ -709,7 +709,7 @@ public abstract class Task { @Override public void execute() throws Exception { if (isDependentsSucceeded() != (Task.this.getException() == null)) - throw new AssertionError("When whenComplete succeeded, Task.exception must be null."); + throw new AssertionError("When whenComplete succeeded, Task.exception must be null.", Task.this.getException()); action.execute(Task.this.getException());