From: badlogicgames Date: Sun, 28 Nov 2010 00:18:50 +0000 (+0000) Subject: [fixed] lwgjl natives will not be loaded from classpath in case the app is run via... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=08fa8758ab99d3d5841b82efb541074e86a92dd1;p=mikumikustudio%2Flibgdx-mikumikustudio.git [fixed] lwgjl natives will not be loaded from classpath in case the app is run via jnlp or as an applet --- diff --git a/backends/gdx-backend-lwjgl/.classpath b/backends/gdx-backend-lwjgl/.classpath index 825b995a3..8c76fc416 100644 --- a/backends/gdx-backend-lwjgl/.classpath +++ b/backends/gdx-backend-lwjgl/.classpath @@ -8,7 +8,7 @@ - - + + diff --git a/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplet.java b/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplet.java index 0420f0ee1..a5c9f8177 100644 --- a/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplet.java +++ b/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplet.java @@ -28,6 +28,7 @@ public class LwjglApplet extends Applet { LwjglApplication app; public LwjglApplet (final ApplicationListener listener, final boolean useGL2) { + LwjglNativesLoader.load = false; canvas = new Canvas() { public final void addNotify () { super.addNotify(); diff --git a/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglNativesLoader.java b/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglNativesLoader.java index 6bdc22661..7744b913f 100644 --- a/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglNativesLoader.java +++ b/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglNativesLoader.java @@ -17,15 +17,33 @@ import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; +import java.lang.reflect.Method; import com.badlogic.gdx.Version; import com.badlogic.gdx.utils.GdxRuntimeException; final class LwjglNativesLoader { - static void load() { + public static boolean load = true; + + static { + try { + Method method = + Class.forName("javax.jnlp.ServiceManager").getDeclaredMethod("lookup", + new Class[] {String.class}); + method.invoke(null, "javax.jnlp.PersistenceService"); + load = false; + } catch (Throwable ex) { + load = true; + } + } + + static void load() { System.setProperty("org.lwjgl.input.Mouse.allowNegativeMouseCoords", "true"); Version.loadLibrary(); + if(!load) + return; + String os = System.getProperty("os.name"); String arch = System.getProperty("os.arch"); boolean is64Bit = false; @@ -36,8 +54,7 @@ final class LwjglNativesLoader { if (os.contains("Linux")) loadLibrariesLinux(is64Bit); if (os.contains("Mac")) loadLibrariesMac(); - - //System.setProperty("org.lwjgl.librarypath", new File(System.getProperty("java.io.tmpdir")).getAbsolutePath()); + System.setProperty("org.lwjgl.librarypath", new File(System.getProperty("java.io.tmpdir")).getAbsolutePath()); } private static void loadLibrariesWindows (boolean is64Bit) {