From 57c37c222c43f732c8b7703263cf9a573561322f Mon Sep 17 00:00:00 2001 From: Juuz Date: Wed, 3 Sep 2025 13:59:45 +0300 Subject: Always specify locale in toUpperCase and toLowerCase (#556) Not all of these changes are strictly needed to avoid the Turkish i issue specifically, but it's good to be consistent.--- enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java | 3 ++- enigma-swing/src/main/java/cuchaz/enigma/gui/config/legacy/Config.java | 3 ++- enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java | 3 ++- enigma-swing/src/main/java/cuchaz/enigma/gui/util/ScaleUtil.java | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) (limited to 'enigma-swing/src/main/java/cuchaz') diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java index dc58464c..6dd89572 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java @@ -18,6 +18,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.EnumSet; import java.util.List; +import java.util.Locale; import java.util.Set; import joptsimple.OptionException; @@ -143,7 +144,7 @@ public class Main { if (Files.isDirectory(mappingsPath)) { controller.openMappings(MappingFormat.ENIGMA_DIRECTORY, mappingsPath); - } else if (mappingsPath.getFileName().toString().toLowerCase().endsWith(".zip")) { + } else if (mappingsPath.getFileName().toString().toLowerCase(Locale.ROOT).endsWith(".zip")) { controller.openMappings(MappingFormat.ENIGMA_ZIP, mappingsPath); } else { controller.openMappings(MappingFormat.ENIGMA_FILE, mappingsPath); diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/legacy/Config.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/legacy/Config.java index 9955a6b0..1d7082de 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/legacy/Config.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/legacy/Config.java @@ -5,6 +5,7 @@ import java.io.BufferedReader; import java.lang.reflect.Type; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Locale; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -98,7 +99,7 @@ public class Config { private static class IntSerializer implements JsonSerializer { @Override public JsonElement serialize(Integer src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive("#" + Integer.toHexString(src).toUpperCase()); + return new JsonPrimitive("#" + Integer.toHexString(src).toUpperCase(Locale.ROOT)); } } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java index 05b7dfbe..657c58bd 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java @@ -17,6 +17,7 @@ import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.util.Locale; import java.util.Objects; import javax.swing.JButton; @@ -223,7 +224,7 @@ public class JavadocDialog { } public String getText() { - return "@" + this.name().toLowerCase(); + return "@" + this.name().toLowerCase(Locale.ROOT); } public boolean isInline() { diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/ScaleUtil.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/ScaleUtil.java index c11963df..27b8a6bb 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/ScaleUtil.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/ScaleUtil.java @@ -5,6 +5,7 @@ import java.awt.Font; import java.awt.Insets; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.function.Predicate; import javax.swing.BorderFactory; @@ -98,7 +99,7 @@ public class ScaleUtil { @SuppressWarnings("null") private static BasicTweaker createTweakerForCurrentLook(float dpiScaling) { - String testString = UIManager.getLookAndFeel().getName().toLowerCase(); + String testString = UIManager.getLookAndFeel().getName().toLowerCase(Locale.ROOT); if (testString.contains("windows")) { return new WindowsTweaker(dpiScaling, testString.contains("classic")) { -- cgit v1.2.3