OSDN Git Service

[fixed] lwgjl natives will not be loaded from classpath in case the app is run via...
authorbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Sun, 28 Nov 2010 00:18:50 +0000 (00:18 +0000)
committerbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Sun, 28 Nov 2010 00:18:50 +0000 (00:18 +0000)
backends/gdx-backend-lwjgl/.classpath
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplet.java
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglNativesLoader.java

index 825b995..8c76fc4 100644 (file)
@@ -8,7 +8,7 @@
        <classpathentry exported="true" kind="lib" path="/dependencies/lwjgl-debug.jar"/>\r
        <classpathentry exported="true" kind="lib" path="/dependencies/lwjgl-natives.jar"/>\r
        <classpathentry exported="true" kind="lib" path="/dependencies/lwjgl.jar"/>\r
-       <classpathentry kind="lib" path="/dependencies/javazoom-spi.jar"/>\r
-       <classpathentry kind="lib" path="/dependencies/tritonus-utils.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="/dependencies/javazoom-spi.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="/dependencies/tritonus-utils.jar"/>\r
        <classpathentry kind="output" path="bin"/>\r
 </classpath>\r
index 0420f0e..a5c9f81 100644 (file)
@@ -28,6 +28,7 @@ public class LwjglApplet extends Applet {
        LwjglApplication app;\r
 \r
        public LwjglApplet (final ApplicationListener listener, final boolean useGL2) {\r
+               LwjglNativesLoader.load = false;\r
                canvas = new Canvas() {\r
                        public final void addNotify () {\r
                                super.addNotify();\r
index 6bdc226..7744b91 100644 (file)
@@ -17,15 +17,33 @@ import java.io.BufferedOutputStream;
 import java.io.File;\r
 import java.io.FileOutputStream;\r
 import java.io.InputStream;\r
+import java.lang.reflect.Method;\r
 \r
 import com.badlogic.gdx.Version;\r
 import com.badlogic.gdx.utils.GdxRuntimeException;\r
 \r
 final class LwjglNativesLoader {\r
-       static void load() {\r
+       public static boolean load = true;\r
+       \r
+       static {\r
+               try {\r
+                      Method method =\r
+               Class.forName("javax.jnlp.ServiceManager").getDeclaredMethod("lookup",\r
+               new Class[] {String.class});\r
+                      method.invoke(null, "javax.jnlp.PersistenceService");\r
+                      load = false;\r
+               } catch (Throwable ex) {\r
+                      load = true;\r
+               }                       \r
+       }               \r
+       \r
+       static void load() {                            \r
                System.setProperty("org.lwjgl.input.Mouse.allowNegativeMouseCoords", "true");\r
                Version.loadLibrary();\r
 \r
+               if(!load)\r
+                       return;\r
+               \r
                String os = System.getProperty("os.name");\r
                String arch = System.getProperty("os.arch");\r
                boolean is64Bit = false;\r
@@ -36,8 +54,7 @@ final class LwjglNativesLoader {
                if (os.contains("Linux")) loadLibrariesLinux(is64Bit);\r
                if (os.contains("Mac")) loadLibrariesMac();\r
 \r
-               \r
-               //System.setProperty("org.lwjgl.librarypath", new File(System.getProperty("java.io.tmpdir")).getAbsolutePath());\r
+               System.setProperty("org.lwjgl.librarypath", new File(System.getProperty("java.io.tmpdir")).getAbsolutePath());\r
        }\r
 \r
        private static void loadLibrariesWindows (boolean is64Bit) {\r