From b1371936a99bccab3e49349ee4d9fd88072a981d Mon Sep 17 00:00:00 2001 From: cwisniew Date: Fri, 20 Oct 2023 08:13:32 +1030 Subject: [PATCH 1/4] Workaround for windows dup file issue --- build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7579e9e948..62e97809b6 100644 --- a/build.gradle +++ b/build.gradle @@ -138,7 +138,8 @@ sourceSets { run { args = ['-v=' + appSemVer] applicationDefaultJvmArgs = ["-Xss8M", "-Dsun.java2d.d3d=false", "-Dsentry.environment=Development", "-Dfile.encoding=UTF-8", - "-Dpolyglot.engine.WarnInterpreterOnly=false","-DRUN_FROM_IDE=true", + "-Dpolyglot.engine.WarnInterpreterOnly=false", "-DRUN_FROM_IDE=true", + "-Djava.util.Arrays.useLegacyMergeSort=true", "-DMAPTOOL_DATADIR=.maptool-" + vendor.toLowerCase(), "-XX:+ShowCodeDetailsInExceptionMessages", "--add-opens=java.desktop/java.awt=ALL-UNNAMED", "--add-opens=java.desktop/java.awt.geom=ALL-UNNAMED", "--add-opens=java.desktop/sun.awt.geom=ALL-UNNAMED", "--add-opens=java.base/java.util=ALL-UNNAMED", @@ -227,6 +228,7 @@ runtime { installerOutputDir = file("releases") jvmArgs = ["-Xss8M", "-Dsun.java2d.d3d=false", "-Dsentry.environment=Production", "-Dfile.encoding=UTF-8", "-Dpolyglot.engine.WarnInterpreterOnly=false", + "-Djava.util.Arrays.useLegacyMergeSort=true", "-DMAPTOOL_DATADIR=.maptool-" + vendor.toLowerCase(), "-XX:+ShowCodeDetailsInExceptionMessages", "--add-opens=java.desktop/java.awt=ALL-UNNAMED", "--add-opens=java.desktop/java.awt.geom=ALL-UNNAMED", "--add-opens=java.desktop/sun.awt.geom=ALL-UNNAMED", "--add-opens=java.base/java.util=ALL-UNNAMED", From ca8aa7485f0f43dd592edf415758c890a73bab38 Mon Sep 17 00:00:00 2001 From: cwisniew Date: Sat, 4 Nov 2023 01:05:13 +1030 Subject: [PATCH 2/4] check to make sure there is a filename before using it --- src/main/java/net/rptools/maptool/client/AppUtil.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/net/rptools/maptool/client/AppUtil.java b/src/main/java/net/rptools/maptool/client/AppUtil.java index e89e94caae..dc26950953 100644 --- a/src/main/java/net/rptools/maptool/client/AppUtil.java +++ b/src/main/java/net/rptools/maptool/client/AppUtil.java @@ -216,6 +216,11 @@ public static Path getInstallDirectory() { path = path.getParent().getParent().getParent(); } else { // First try to find MapTool* directory in path while (path != null) { + if (path.getFileName() == null) { + // We have gone too far! + path = null; + break; + } if (path.getFileName().toString().matches("(?i).*maptool.*")) { break; } From c01880ccd5673d6bb8f00772542bb4c01a4e854e Mon Sep 17 00:00:00 2001 From: jmr3366 Date: Tue, 17 Oct 2023 15:22:41 -0400 Subject: [PATCH 3/4] Backport map export fix to 1.14 --- .../rptools/maptool/client/AppActions.java | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/main/java/net/rptools/maptool/client/AppActions.java b/src/main/java/net/rptools/maptool/client/AppActions.java index a61ba52407..76a900bd47 100644 --- a/src/main/java/net/rptools/maptool/client/AppActions.java +++ b/src/main/java/net/rptools/maptool/client/AppActions.java @@ -2848,27 +2848,28 @@ protected void executeAction() { chooser.setSelectedFile(new File(zr.getZone().getName())); boolean tryAgain = true; while (tryAgain) { - if (chooser.showSaveDialog(MapTool.getFrame()) == JFileChooser.APPROVE_OPTION) { - File mapFile = chooser.getSelectedFile(); - var installDir = AppUtil.getInstallDirectory().toAbsolutePath(); - var saveDir = chooser.getSelectedFile().toPath().getParent().toAbsolutePath(); - if (saveDir.startsWith(installDir)) { - MapTool.showWarning("msg.warning.saveMapToInstallDir"); - } else { - tryAgain = false; - try { - mapFile = getFileWithExtension(mapFile, AppConstants.MAP_FILE_EXTENSION); - if (mapFile.exists()) { - if (!MapTool.confirm("msg.confirm.fileExists")) { - return; - } + if (chooser.showSaveDialog(MapTool.getFrame()) != JFileChooser.APPROVE_OPTION) { + break; + } + File mapFile = chooser.getSelectedFile(); + var installDir = AppUtil.getInstallDirectory().toAbsolutePath(); + var saveDir = chooser.getSelectedFile().toPath().getParent().toAbsolutePath(); + if (saveDir.startsWith(installDir)) { + MapTool.showWarning("msg.warning.saveMapToInstallDir"); + } else { + tryAgain = false; + try { + mapFile = getFileWithExtension(mapFile, AppConstants.MAP_FILE_EXTENSION); + if (mapFile.exists()) { + if (!MapTool.confirm("msg.confirm.fileExists")) { + return; } - PersistenceUtil.saveMap(zr.getZone(), mapFile); - AppPreferences.setSaveMapDir(mapFile.getParentFile()); - MapTool.showInformation("msg.info.mapSaved"); - } catch (IOException ioe) { - MapTool.showError("msg.error.failedSaveMap", ioe); } + PersistenceUtil.saveMap(zr.getZone(), mapFile); + AppPreferences.setSaveMapDir(mapFile.getParentFile()); + MapTool.showInformation("msg.info.mapSaved"); + } catch (IOException ioe) { + MapTool.showError("msg.error.failedSaveMap", ioe); } } } From 5bbc22b2d3debce8f49e7bb14c9702447ea78ba7 Mon Sep 17 00:00:00 2001 From: cwisniew Date: Sun, 19 Nov 2023 00:06:55 +1030 Subject: [PATCH 4/4] upgrade to javafx 21 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index dc8f291cee..df5732368a 100644 --- a/build.gradle +++ b/build.gradle @@ -137,7 +137,7 @@ spotless { // org.openjfx.javafxplugin javafx { - version = '20' + version = '21' // modules = ['javafx.fxml', 'javafx.graphics'] modules = ['javafx.base', 'javafx.controls', 'javafx.media', 'javafx.swing', 'javafx.web', 'javafx.fxml', 'javafx.graphics'] }