From f966a153fc76c5487c6098fadbcc8e1db09fe4e8 Mon Sep 17 00:00:00 2001 From: Boulay Mathias Date: Sun, 15 May 2022 22:52:15 +0200 Subject: [PATCH] Swap the broken parser for a java argument --- .../net/kdt/pojavlaunch/utils/JREUtils.java | 35 ++----------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java index e2c7a720c..4c6917cf6 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java @@ -296,6 +296,7 @@ public class JREUtils { //Add automatically generated args userArgs.add("-Xms" + LauncherPreferences.PREF_RAM_ALLOCATION + "M"); userArgs.add("-Xmx" + LauncherPreferences.PREF_RAM_ALLOCATION + "M"); + userArgs.add(" -XX:+IgnoreUnrecognizedVMOptions "); if(LOCAL_RENDERER != null) userArgs.add("-Dorg.lwjgl.opengl.libname=" + graphicsLib); userArgs.addAll(JVMArgs); @@ -389,39 +390,7 @@ public class JREUtils { * @return Parsed args as an ArrayList */ public static ArrayList parseJavaArguments(String args){ - ArrayList parsedArguments = new ArrayList<>(0); - args = args.trim().replace(" ", ""); - //For each prefixes, we separate args. - for(String prefix : new String[]{"-XX:-","-XX:+", "-XX:","--","-"}){ - while (true){ - int start = args.indexOf(prefix); - if(start == -1) break; - //Get the end of the current argument - int end = args.indexOf("-", start + prefix.length()); - if(end == -1) end = args.length(); - - //Extract it - String parsedSubString = args.substring(start, end); - args = args.replace(parsedSubString, ""); - - //Check if two args aren't bundled together by mistake - if(parsedSubString.indexOf('=') == parsedSubString.lastIndexOf('=')) { - int arraySize = parsedArguments.size(); - if(arraySize > 0){ - String lastString = parsedArguments.get(arraySize - 1); - // Looking for list elements - if(lastString.charAt(lastString.length() - 1) == ',' || - parsedSubString.contains(",")){ - parsedArguments.set(arraySize - 1, lastString + parsedSubString); - continue; - } - } - parsedArguments.add(parsedSubString); - } - else Log.w("JAVA ARGS PARSER", "Removed improper arguments: " + parsedSubString); - } - } - return parsedArguments; + return new ArrayList<>(Arrays.asList(args.split(" "))); } /**