Try start on main thread

This commit is contained in:
Duy Tran Khanh committed 2020-12-31 04:48:08 +07:00
1 parent d43acd7f68
commit 07b4ea7040
3 files changed
+27 -15

No files matched your search

@@ -22,10 +22,31 @@ public class PLaunchApp extends UIApplicationDelegateAdapter {
Thread launchThread = new Thread() {
@Override
public void run() {
Application.launch(PLaunchJFXApp.class);
// Application.launch(PLaunchJFXApp.class);
// Start Minecraft there!
File file = new File(Tools.DIR_GAME_NEW);
file.mkdirs();
String mcver = "1.13";
try {
mcver = Tools.read(Tools.DIR_GAME_HOME + "/config_ver.txt");
} catch (IOException e) {
System.out.println("config_ver.txt not found, defaulting to Minecraft 1.13");
}
MinecraftAccount acc = new MinecraftAccount();
acc.selectedVersion = mcver;
JMinecraftVersionList.Version version = Tools.getVersionInfo(mcver);
try {
Tools.launchMinecraft(acc, version);
} catch (Throwable th) {
Tools.showError(th);
}
}
};
launchThread.setDaemon(true);
// launchThread.setDaemon(true);
launchThread.start();
} else {
WindowAlertController alertController = new WindowAlertController("Error", "OpenJDK is not installed. Please install before enter launcher.", UIAlertControllerStyle.Alert);
@@ -23,15 +23,6 @@ public class PLaunchJFXApp extends Application {
JREUtils.saveGLContext();
/*
Circle circ = new Circle(40, 40, 30);
Group root = new Group(circ);
Scene scene = new Scene(root, 400, 300);
stage.setTitle("PojavLauncher");
stage.setScene(scene);
stage.show();
*/
// Start Minecraft there!
File file = new File(Tools.DIR_GAME_NEW);
file.mkdirs();
+4 -4
View File
@@ -38,13 +38,13 @@
typedef jint JNI_CreateJavaVM_func(JavaVM **pvm, void **penv, void *args);
JNIEXPORT jint JNICALL Java_com_oracle_dalvik_VMLauncher_createLaunchMainJVM(JNIEnv *env, jclass clazz, jobjectArray vmArgArr, jstring mainClassStr, jobjectArray mainArgArr) {
void *libjvm = dlopen("/usr/lib/jvm/java-16-openjdk/lib/server/libjvm.dylib", RTLD_NOW + RTLD_GLOBAL);
if (libjvm == NULL) {
printf("dlopen failed to open libjvm.dylib (dlerror %s).", dlerror());
void *libjli = dlopen("/usr/lib/jvm/java-16-openjdk/lib/libjli.dylib", RTLD_NOW + RTLD_GLOBAL);
if (libjli == NULL) {
printf("dlopen failed to open libjli.dylib (dlerror %s).", dlerror());
return -1;
}
JNI_CreateJavaVM_func *jl_JNI_CreateJavaVM = (JNI_CreateJavaVM_func *) dlsym(libjvm, "JNI_CreateJavaVM");
JNI_CreateJavaVM_func *jl_JNI_CreateJavaVM = (JNI_CreateJavaVM_func *) dlsym(libjli, "JNI_CreateJavaVM");
if (jl_JNI_CreateJavaVM == NULL) {
printf("dlsym failed to get JNI_CreateJavaVM (dlerror %s).\n", dlerror());
return -2;