aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkbr <[email protected]>2005-12-24 05:00:46 +0000
committerkbr <[email protected]>2005-12-24 05:00:46 +0000
commit7b23145c1cc0345ee193840f19da1b1a6bcc56f2 (patch)
tree79ad0615536d7dda050944b9bd071e277986ad90
parente645c07856f1c7ce42ca420737d1f8e269a83e75 (diff)
Worked around bug in OpenAL32.dll "wrapper" DLL which was incorrectly
matching joal.dll with the wildcard "*oal.dll" while searching for "wrap_oal.dll", an actual (misnamed) OpenAL implementation. Bug caused a failure to look up a function pointer and subsequent dereference of NULL. Will report this bug to the OpenAL development team, but most expedient workaround was to rename joal.dll to joal_native.dll -- done here. git-svn-id: file:///home/mbien/NetBeansProjects/JOGAMP/joal-sync/git-svn/../svn-server-sync/joal/branches/gluegen-branch-1-0@98 03bf7f67-59de-4072-a415-9a990d468a3f
-rwxr-xr-xmake/build.xml2
-rwxr-xr-xsrc/java/net/java/games/joal/NativeLibLoader.java7
2 files changed, 7 insertions, 2 deletions
diff --git a/make/build.xml b/make/build.xml
index 7cdfd42..e04f629 100755
--- a/make/build.xml
+++ b/make/build.xml
@@ -616,7 +616,7 @@
<target name="c.build.joal">
<antcall target="c.build" inheritRefs="true">
<param name="c.compiler.src.files" value="c.src.files.joal"/>
- <param name="output.lib.name" value="joal"/>
+ <param name="output.lib.name" value="joal_native"/>
</antcall>
<antcall target="c.rename.joal.lib.mingw" inheritRefs="true" />
<antcall target="c.rename.joal.lib.macosx" inheritRefs="true" />
diff --git a/src/java/net/java/games/joal/NativeLibLoader.java b/src/java/net/java/games/joal/NativeLibLoader.java
index a5297af..394d1b4 100755
--- a/src/java/net/java/games/joal/NativeLibLoader.java
+++ b/src/java/net/java/games/joal/NativeLibLoader.java
@@ -42,7 +42,12 @@ class NativeLibLoader {
static {
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
- System.loadLibrary("joal");
+ // Workaround for problem in OpenAL32.dll, which is actually
+ // the "wrapper" DLL which looks for real OpenAL
+ // implementations like nvopenal.dll and "*oal.dll".
+ // joal.dll matches this wildcard and a bug in OpenAL32.dll
+ // causes a call through a null function pointer.
+ System.loadLibrary("joal_native");
// Workaround for 4845371.
// Make sure the first reference to the JNI GetDirectBufferAddress is done