From 79fa0714bbd8386fc3843c2e300469d7d745f8ff Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sun, 4 Sep 2022 18:17:59 -0400 Subject: [PATCH] fix potential fallthrough bug while cleaning code --- app/src/processing/app/Platform.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/processing/app/Platform.java b/app/src/processing/app/Platform.java index bd9fdc06e..d6c73be9e 100644 --- a/app/src/processing/app/Platform.java +++ b/app/src/processing/app/Platform.java @@ -86,15 +86,20 @@ public class Platform { static public void init() { try { - Class platformClass = Class.forName("processing.app.Platform"); //$NON-NLS-1$ + // Start with DefaultPlatform, but try to upgrade to a known platform + final String packageName = DefaultPlatform.class.getPackageName(); + Class platformClass = + Class.forName(packageName + ".DefaultPlatform"); + if (Platform.isMacOS()) { - platformClass = Class.forName("processing.app.platform.MacPlatform"); //$NON-NLS-1$ + platformClass = Class.forName(packageName + ".MacPlatform"); } else if (Platform.isWindows()) { - platformClass = Class.forName("processing.app.platform.WindowsPlatform"); //$NON-NLS-1$ + platformClass = Class.forName(packageName + ".WindowsPlatform"); } else if (Platform.isLinux()) { - platformClass = Class.forName("processing.app.platform.LinuxPlatform"); //$NON-NLS-1$ + platformClass = Class.forName(packageName + ".LinuxPlatform"); } inst = (DefaultPlatform) platformClass.getDeclaredConstructor().newInstance(); + } catch (Exception e) { Messages.showError("Problem Setting the Platform", "An unknown error occurred while trying to load\n" +