mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-02-11 16:59:54 +08:00
Fix: TaskWindow causes NullPointerException.
This commit is contained in:
parent
6e003a7364
commit
01526546b1
@ -117,6 +117,7 @@ public final class Launcher {
|
||||
|
||||
println("*** Launching Game ***");
|
||||
|
||||
int flag = 0;
|
||||
try {
|
||||
minecraftMain.invoke(null, new Object[]{cmds});
|
||||
} catch (Throwable throwable) {
|
||||
@ -130,9 +131,11 @@ public final class Launcher {
|
||||
LogWindow.instance.log(trace);
|
||||
LogWindow.instance.setExit(TrueFunction.instance);
|
||||
LogWindow.instance.setVisible(true);
|
||||
|
||||
flag = 1;
|
||||
}
|
||||
|
||||
println("*** Game Exited ***");
|
||||
System.exit(1);
|
||||
System.exit(flag);
|
||||
}
|
||||
}
|
||||
|
@ -224,6 +224,7 @@ public class TaskWindow extends javax.swing.JDialog
|
||||
task.setProgressProviderListener(this);
|
||||
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if(taskList == null) return;
|
||||
tasks.add(task);
|
||||
progresses.add(0);
|
||||
SwingUtils.appendLast(lstDownload, task.getInfo(), "0%");
|
||||
@ -238,6 +239,7 @@ public class TaskWindow extends javax.swing.JDialog
|
||||
@Override
|
||||
public void onDone(Task task) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if(taskList == null) return;
|
||||
pgsTotal.setMaximum(taskList.taskCount());
|
||||
pgsTotal.setValue(pgsTotal.getValue() + 1);
|
||||
int idx = tasks.indexOf(task);
|
||||
@ -251,6 +253,7 @@ public class TaskWindow extends javax.swing.JDialog
|
||||
@Override
|
||||
public void onFailed(Task task) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if(taskList == null) return;
|
||||
failReasons.add(task.getInfo() + ": " + (null == task.getFailReason() ? "No exception" : task.getFailReason().getLocalizedMessage()));
|
||||
pgsTotal.setMaximum(taskList.taskCount());
|
||||
pgsTotal.setValue(pgsTotal.getValue() + 1);
|
||||
@ -270,6 +273,7 @@ public class TaskWindow extends javax.swing.JDialog
|
||||
@Override
|
||||
public void setStatus(Task task, String sta) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if(taskList == null) return;
|
||||
int idx = tasks.indexOf(task);
|
||||
if (idx == -1) return;
|
||||
SwingUtils.setValueAt(lstDownload, task.getInfo() + ": " + sta, idx, 0);
|
||||
|
@ -20,6 +20,7 @@ import java.awt.Font;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.text.ParseException;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.UnsupportedLookAndFeelException;
|
||||
import org.jackhuang.hellominecraft.HMCLog;
|
||||
@ -29,6 +30,7 @@ import org.jackhuang.hellominecraft.utils.UpdateChecker;
|
||||
import org.jackhuang.hellominecraft.svrmgr.views.MainWindow;
|
||||
import org.jackhuang.hellominecraft.utils.VersionNumber;
|
||||
import org.jackhuang.hellominecraft.lookandfeel.HelloMinecraftLookAndFeel;
|
||||
import org.jackhuang.hellominecraft.utils.system.MessageBox;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -53,8 +55,8 @@ public class Main {
|
||||
} catch (ParseException | UnsupportedLookAndFeelException ex) {
|
||||
HMCLog.warn("Failed to set look and feel", ex);
|
||||
}
|
||||
new UpdateChecker(new VersionNumber(firstVer, secondVer, thirdVer), "hmcsm", SettingsManager.settings.checkUpdate, () -> {
|
||||
SettingsManager.settings.checkUpdate = false;
|
||||
new UpdateChecker(new VersionNumber(firstVer, secondVer, thirdVer), "hmcsm", () -> {
|
||||
SwingUtilities.invokeLater(() -> MessageBox.Show("发现更新!"));
|
||||
}).start();
|
||||
new MainWindow().setVisible(true);
|
||||
} catch (Throwable t) {
|
||||
|
Loading…
Reference in New Issue
Block a user