diff --git a/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/FileWatchManager.java b/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/FileWatchManager.java index 6e4638df..b89911f0 100644 --- a/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/FileWatchManager.java +++ b/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/FileWatchManager.java @@ -107,7 +107,7 @@ private WatchedDirectory(Path dir, BiConsumer> liste } private void createRecursiveWatchers(Path dir) { - if (!Files.isDirectory(dir)) { + if (!Files.isDirectory(dir) || !Files.isReadable(dir)) { return; } diff --git a/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/LogManager.java b/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/LogManager.java index 50e2cf23..236e31ad 100644 --- a/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/LogManager.java +++ b/pdxu-app/src/main/java/com/crschnick/pdxu/app/core/LogManager.java @@ -108,11 +108,15 @@ private void setLogLevels() { System.setProperty("org.slf4j.simpleLogger.log.com.crschnick.pdx_unlimiter.app.installation", "info"); } - if (PdxuInstallation.getInstance().isNativeHookEnabled()) { - java.util.logging.Logger logger = java.util.logging.Logger.getLogger(GlobalScreen.class.getPackage().getName()); - logger.setLevel(Level.OFF); - logger.setUseParentHandlers(false); - GlobalScreen.isNativeHookRegistered(); + try { + if (PdxuInstallation.getInstance().isNativeHookEnabled()) { + java.util.logging.Logger logger = java.util.logging.Logger.getLogger(GlobalScreen.class.getPackage().getName()); + logger.setLevel(Level.OFF); + logger.setUseParentHandlers(false); + GlobalScreen.isNativeHookRegistered(); + } + } catch (Throwable t) { + t.printStackTrace(); } } diff --git a/pdxu-app/src/main/java/com/crschnick/pdxu/app/gui/GuiStyle.java b/pdxu-app/src/main/java/com/crschnick/pdxu/app/gui/GuiStyle.java index 0f9d9450..e4c8b58a 100644 --- a/pdxu-app/src/main/java/com/crschnick/pdxu/app/gui/GuiStyle.java +++ b/pdxu-app/src/main/java/com/crschnick/pdxu/app/gui/GuiStyle.java @@ -74,6 +74,10 @@ public class GuiStyle { public static String CLASS_CLEAR = "clear-button"; public static void addStylesheets(Scene scene) { + if (PdxuInstallation.getInstance() == null) { + return; + } + try { Files.list(PdxuInstallation.getInstance().getResourceDir().resolve("style")) .map(p -> p.toUri().toString()) @@ -84,6 +88,10 @@ public static void addStylesheets(Scene scene) { } public static void makeEmptyAlert(Scene scene) { + if (PdxuInstallation.getInstance() == null) { + return; + } + scene.getStylesheets().add(PdxuInstallation.getInstance().getResourceDir().resolve("style") .resolve("empty-alert.css").toUri().toString()); } diff --git a/pdxu-io/src/main/java/com/crschnick/pdxu/io/node/ValueNode.java b/pdxu-io/src/main/java/com/crschnick/pdxu/io/node/ValueNode.java index c78f5472..e033997d 100644 --- a/pdxu-io/src/main/java/com/crschnick/pdxu/io/node/ValueNode.java +++ b/pdxu-io/src/main/java/com/crschnick/pdxu/io/node/ValueNode.java @@ -9,7 +9,7 @@ public final class ValueNode extends Node { private static final byte DOUBLE_QUOTE_CHAR = 34; private static final Pattern LONG = Pattern.compile("[+-]?[0-9]+"); - private static final Pattern DOUBLE = Pattern.compile("[+-]?([0-9]+)\\.([0-9]+)"); + private static final Pattern DOUBLE = Pattern.compile("[+-]?([0-9]+)[.,]([0-9]+)"); private NodeContext context; private int scalarIndex; @@ -111,7 +111,8 @@ public long getLong() { @Override public double getDouble() { - return Double.parseDouble(evaluateContent()); + // Replaces decimal commas + return Double.parseDouble(evaluateContent().replaceAll(",", ".")); } @Override