diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/TaskExecutorDialogPane.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/TaskExecutorDialogPane.java index cf4bd06c7..f2a4e9ff7 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/TaskExecutorDialogPane.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/TaskExecutorDialogPane.java @@ -31,7 +31,6 @@ import org.jackhuang.hmcl.util.TaskCancellationAction; import org.jackhuang.hmcl.util.i18n.I18n; import org.jetbrains.annotations.NotNull; -import java.util.Optional; import java.util.function.Consumer; import static org.jackhuang.hmcl.ui.FXUtils.onEscPressed; @@ -83,8 +82,9 @@ public class TaskExecutorDialogPane extends BorderPane { setCancel(cancel); btnCancel.setOnAction(e -> { - Optional.ofNullable(executor).ifPresent(TaskExecutor::cancel); if (onCancel.getCancellationAction() != null) { + if (executor != null) + executor.cancel(); onCancel.getCancellationAction().accept(this); } });