Try start on main thread
This commit is contained in:
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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user