Revision: 3604
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3604&view=rev
Author: kappa1
Date: 2011-08-06 13:18:49 +0000 (Sat, 06 Aug 2011)
Log Message:
-----------
Fix issue with Linux and Java 7 where libjawt.so was failing to load.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/LinuxSysImplementation.java
Modified: trunk/LWJGL/src/java/org/lwjgl/LinuxSysImplementation.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/LinuxSysImplementation.java 2011-08-02 23:45:19 UTC (rev 3603)
+++ trunk/LWJGL/src/java/org/lwjgl/LinuxSysImplementation.java 2011-08-06 13:18:49 UTC (rev 3604)
@@ -31,6 +31,10 @@
*/
package org.lwjgl;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedExceptionAction;
+import java.lang.UnsatisfiedLinkError;
/**
*
@@ -42,7 +46,21 @@
private static final int JNI_VERSION = 19;
static {
- java.awt.Toolkit.getDefaultToolkit(); // This will make sure libjawt.so is loaded
+ // Load libawt.so and libmawt.so, needed for libjawt.so
+ java.awt.Toolkit.getDefaultToolkit();
+
+ // manually load libjawt.so into vm, needed since Java 7
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ public Object run() {
+ try {
+ System.loadLibrary("jawt");
+ } catch (UnsatisfiedLinkError e) {
+ // catch and ignore an already loaded in another classloader
+ // exception, as vm already has it loaded
+ }
+ return null;
+ }
+ });
}
public int getRequiredJNIVersion() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|