Explorar o código

Fix the test chooser to not instantiate the class if it's just
going to call it's static main method anyway. Also, call the static
main method on the class instead of an instantiated object.

Paul Speed %!s(int64=9) %!d(string=hai) anos
pai
achega
57bcb3967f
Modificáronse 1 ficheiros con 3 adicións e 3 borrados
  1. 3 3
      jme3-examples/src/main/java/jme3test/TestChooser.java

+ 3 - 3
jme3-examples/src/main/java/jme3test/TestChooser.java

@@ -260,8 +260,8 @@ public class TestChooser extends JDialog {
                     for (int i = 0; i < appClass.length; i++) {
                 	    Class<?> clazz = (Class)appClass[i];
                 		try {
-                			Object app = clazz.newInstance();
-                			if (app instanceof Application) {
+                			if (Application.class.isAssignableFrom(clazz)) {
+                    			Object app = clazz.newInstance();
                 			    if (app instanceof SimpleApplication) {
                 			        final Method settingMethod = clazz.getMethod("setShowSettings", boolean.class);
                 			        settingMethod.invoke(app, showSetting);
@@ -283,7 +283,7 @@ public class TestChooser extends JDialog {
                 			    }
                 			} else {
                                 final Method mainMethod = clazz.getMethod("main", (new String[0]).getClass());
-                                mainMethod.invoke(app, new Object[]{new String[0]});
+                                mainMethod.invoke(clazz, new Object[]{new String[0]});
                 			}
                 			// wait for destroy
                 			System.gc();