From cec7005e5682cd8c9f53ec98eb4d623771d35987 Mon Sep 17 00:00:00 2001 From: Kevin Ruland Date: Sat, 12 Sep 2015 06:37:06 -0500 Subject: [PATCH] Work around reported bug concerning TimSort and comparators violating contract. --- swing/src/net/sf/openrocket/startup/OpenRocket.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/swing/src/net/sf/openrocket/startup/OpenRocket.java b/swing/src/net/sf/openrocket/startup/OpenRocket.java index 9fb917bbd..dca1b33dc 100644 --- a/swing/src/net/sf/openrocket/startup/OpenRocket.java +++ b/swing/src/net/sf/openrocket/startup/OpenRocket.java @@ -28,6 +28,10 @@ public class OpenRocket { private static final String STARTUP_CLASS = "net.sf.openrocket.startup.SwingStartup"; public static void main(String[] args) { + // This property works around some fundimental bugs in TimSort in the java library which has had known issues + // since it was introduced in JDK 1.7. In OpenRocket it manifests when you sort the motors in the motor chooser dialog + // by designation. + System.setProperty("java.util.Arrays.useLegacyMergeSort","true"); addClasspathUrlHandler(); JarInJarStarter.runMain(STARTUP_CLASS, args, new CurrentClasspathProvider(), new ManifestClasspathProvider(), new PluginClasspathProvider());