diff --git a/app_pojavlauncher/src/main/assets/components/forge_installer/forge_installer.jar b/app_pojavlauncher/src/main/assets/components/forge_installer/forge_installer.jar index c9c5045a2..2e498a39b 100644 Binary files a/app_pojavlauncher/src/main/assets/components/forge_installer/forge_installer.jar and b/app_pojavlauncher/src/main/assets/components/forge_installer/forge_installer.jar differ diff --git a/app_pojavlauncher/src/main/assets/components/forge_installer/version b/app_pojavlauncher/src/main/assets/components/forge_installer/version index b8f0d6121..825b64780 100644 --- a/app_pojavlauncher/src/main/assets/components/forge_installer/version +++ b/app_pojavlauncher/src/main/assets/components/forge_installer/version @@ -1 +1 @@ -1688118307460 \ No newline at end of file +1688133008591 \ No newline at end of file diff --git a/app_pojavlauncher/src/main/jni/stdio_is.c b/app_pojavlauncher/src/main/jni/stdio_is.c index 5986ed4f6..496c7c8a5 100644 --- a/app_pojavlauncher/src/main/jni/stdio_is.c +++ b/app_pojavlauncher/src/main/jni/stdio_is.c @@ -85,7 +85,7 @@ Java_net_kdt_pojavlaunch_Logger_begin(JNIEnv *env, __attribute((unused)) jclass /* open latestlog.txt for writing */ const char* logFilePath = (*env)->GetStringUTFChars(env, logPath, NULL); - latestlog_fd = open(logFilePath, O_WRONLY | O_TRUNC | O_CREAT, 644); + latestlog_fd = open(logFilePath, O_WRONLY | O_TRUNC); if(latestlog_fd == -1) { latestlog_fd = 0; (*env)->ThrowNew(env, ioeClass, strerror(errno)); diff --git a/forge_installer/build.gradle b/forge_installer/build.gradle index d836fede3..63b38621d 100644 --- a/forge_installer/build.gradle +++ b/forge_installer/build.gradle @@ -19,7 +19,7 @@ jar { versionFile.write(String.valueOf(new Date().getTime())) manifest { attributes("Manifest-Version": "1.0", - "PreMain-Class": "git.artdeell.forgeinstaller.Agent") + "PreMain-Class": "git.artdeell.installer_agent.Agent") } destinationDirectory.set(file("../app_pojavlauncher/src/main/assets/components/forge_installer/")) } \ No newline at end of file diff --git a/forge_installer/src/main/java/git/artdeell/forgeinstaller/Agent.java b/forge_installer/src/main/java/git/artdeell/installer_agent/Agent.java similarity index 87% rename from forge_installer/src/main/java/git/artdeell/forgeinstaller/Agent.java rename to forge_installer/src/main/java/git/artdeell/installer_agent/Agent.java index cc2d82d63..dc2cf22c2 100644 --- a/forge_installer/src/main/java/git/artdeell/forgeinstaller/Agent.java +++ b/forge_installer/src/main/java/git/artdeell/installer_agent/Agent.java @@ -1,4 +1,4 @@ -package git.artdeell.forgeinstaller; +package git.artdeell.installer_agent; import java.awt.AWTEvent; import java.awt.Component; @@ -32,19 +32,25 @@ public class Agent implements AWTEventListener { public void eventDispatched(AWTEvent event) { WindowEvent windowEvent = (WindowEvent) event; Window window = windowEvent.getWindow(); - if(windowEvent.getID() == WindowEvent.WINDOW_OPENED) { - if(!forgeWindowHandled) { // false at startup, so we will handle the first window as the Forge one - forgeWindowHandled = handleMainWindow(window); - if(forgeWindowHandled) { - componentTimer.cancel(); - componentTimer.purge(); - }else{ - componentTimer.schedule(new ComponentTimeoutTask(), 30000); - } - }else if(window instanceof JDialog) { // expecting a new dialog - handleDialog(window); - } + if(windowEvent.getID() != WindowEvent.WINDOW_OPENED) return; + if(forgeWindowHandled && window instanceof JDialog) { // expecting a new dialog + handleDialog(window); + return; } + if(!forgeWindowHandled) { // false at startup, so we will handle the first window as the Forge one + forgeWindowHandled = handleMainWindow(window); + checkComponentTimer(); + } + } + + public void checkComponentTimer() { + if(forgeWindowHandled) { + componentTimer.cancel(); + componentTimer.purge(); + return; + } + componentTimer.schedule(new ComponentTimeoutTask(), 30000); + } public boolean handleMainWindow(Window window) { diff --git a/forge_installer/src/main/java/git/artdeell/forgeinstaller/ComponentFilter.java b/forge_installer/src/main/java/git/artdeell/installer_agent/ComponentFilter.java similarity index 73% rename from forge_installer/src/main/java/git/artdeell/forgeinstaller/ComponentFilter.java rename to forge_installer/src/main/java/git/artdeell/installer_agent/ComponentFilter.java index 352128b56..b4a9c7c89 100644 --- a/forge_installer/src/main/java/git/artdeell/forgeinstaller/ComponentFilter.java +++ b/forge_installer/src/main/java/git/artdeell/installer_agent/ComponentFilter.java @@ -1,4 +1,4 @@ -package git.artdeell.forgeinstaller; +package git.artdeell.installer_agent; import java.awt.*; diff --git a/forge_installer/src/main/java/git/artdeell/forgeinstaller/ComponentTimeoutTask.java b/forge_installer/src/main/java/git/artdeell/installer_agent/ComponentTimeoutTask.java similarity index 84% rename from forge_installer/src/main/java/git/artdeell/forgeinstaller/ComponentTimeoutTask.java rename to forge_installer/src/main/java/git/artdeell/installer_agent/ComponentTimeoutTask.java index a24c2ad89..dabc6b6be 100644 --- a/forge_installer/src/main/java/git/artdeell/forgeinstaller/ComponentTimeoutTask.java +++ b/forge_installer/src/main/java/git/artdeell/installer_agent/ComponentTimeoutTask.java @@ -1,4 +1,4 @@ -package git.artdeell.forgeinstaller; +package git.artdeell.installer_agent; import java.util.TimerTask; diff --git a/forge_installer/src/main/java/git/artdeell/forgeinstaller/DialogFilter.java b/forge_installer/src/main/java/git/artdeell/installer_agent/DialogFilter.java similarity index 87% rename from forge_installer/src/main/java/git/artdeell/forgeinstaller/DialogFilter.java rename to forge_installer/src/main/java/git/artdeell/installer_agent/DialogFilter.java index 8771b84a6..ca1d0031e 100644 --- a/forge_installer/src/main/java/git/artdeell/forgeinstaller/DialogFilter.java +++ b/forge_installer/src/main/java/git/artdeell/installer_agent/DialogFilter.java @@ -1,4 +1,4 @@ -package git.artdeell.forgeinstaller; +package git.artdeell.installer_agent; import javax.swing.*; import java.awt.*; diff --git a/forge_installer/src/main/java/git/artdeell/forgeinstaller/MainWindowFilter.java b/forge_installer/src/main/java/git/artdeell/installer_agent/MainWindowFilter.java similarity index 89% rename from forge_installer/src/main/java/git/artdeell/forgeinstaller/MainWindowFilter.java rename to forge_installer/src/main/java/git/artdeell/installer_agent/MainWindowFilter.java index 8f0921637..9039de568 100644 --- a/forge_installer/src/main/java/git/artdeell/forgeinstaller/MainWindowFilter.java +++ b/forge_installer/src/main/java/git/artdeell/installer_agent/MainWindowFilter.java @@ -1,4 +1,4 @@ -package git.artdeell.forgeinstaller; +package git.artdeell.installer_agent; import javax.swing.*; import java.awt.*; diff --git a/forge_installer/src/main/java/git/artdeell/forgeinstaller/ProfileFixer.java b/forge_installer/src/main/java/git/artdeell/installer_agent/ProfileFixer.java similarity index 98% rename from forge_installer/src/main/java/git/artdeell/forgeinstaller/ProfileFixer.java rename to forge_installer/src/main/java/git/artdeell/installer_agent/ProfileFixer.java index da0b1d4d1..da6e72967 100644 --- a/forge_installer/src/main/java/git/artdeell/forgeinstaller/ProfileFixer.java +++ b/forge_installer/src/main/java/git/artdeell/installer_agent/ProfileFixer.java @@ -1,4 +1,4 @@ -package git.artdeell.forgeinstaller; +package git.artdeell.installer_agent; import org.json.JSONException; import org.json.JSONObject;