From f078482bbc36ef63213c3cff63f96e02235c61ad Mon Sep 17 00:00:00 2001 From: Caspian Rychlik-Prince Date: Mon, 17 Mar 2003 18:34:43 +0000 Subject: [PATCH] Fix Brians bugs --- src/native/common/extal.c | 2 +- src/native/common/org_lwjgl_openal_ALC.cpp | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/native/common/extal.c b/src/native/common/extal.c index c77c5ee8..df25c334 100644 --- a/src/native/common/extal.c +++ b/src/native/common/extal.c @@ -177,7 +177,7 @@ void LoadOpenAL() { */ void UnLoadOpenAL() { #ifdef _WIN32 - FreeLibrary(handleOAL); + //FreeLibrary(handleOAL); #endif #ifdef _X11 dlclose(handleOAL); diff --git a/src/native/common/org_lwjgl_openal_ALC.cpp b/src/native/common/org_lwjgl_openal_ALC.cpp index 59dd1449..6125dbbc 100644 --- a/src/native/common/org_lwjgl_openal_ALC.cpp +++ b/src/native/common/org_lwjgl_openal_ALC.cpp @@ -112,21 +112,22 @@ JNIEXPORT void JNICALL Java_org_lwjgl_openal_ALC_getIntegerv (JNIEnv *env, jobje * ALCdevice *alcOpenDevice( const ALubyte *tokstr ); */ JNIEXPORT jobject JNICALL Java_org_lwjgl_openal_ALC_openDevice (JNIEnv *env, jobject obj, jstring tokstr) { - ALubyte* tokenstring; + const char * tokenstring; + jboolean isCopy = JNI_FALSE; if(tokstr != NULL) { - tokenstring = (ALubyte*) (env->GetStringUTFChars(tokstr, 0)); + tokenstring = (env->GetStringUTFChars(tokstr, &isCopy)); } else { tokenstring = NULL; } /* get device */ - ALCdevice* device = alcOpenDevice(tokenstring); + ALCdevice* device = alcOpenDevice((ALubyte *) tokenstring); /* if error - cleanup and get out */ if(device == NULL) { if(tokenstring != NULL) { - env->ReleaseStringUTFChars((jstring)tokenstring, 0); + env->ReleaseStringUTFChars(tokstr, tokenstring); } return NULL; } @@ -144,7 +145,8 @@ JNIEXPORT jobject JNICALL Java_org_lwjgl_openal_ALC_openDevice (JNIEnv *env, job alcDevice_object = env->NewObject(alcDevice_class, alcDevice_method, (int) device); /* clean up */ - env->ReleaseStringUTFChars((jstring)tokenstring, 0); + if (tokenstring != NULL) + env->ReleaseStringUTFChars(tokstr, tokenstring); return alcDevice_object; } @@ -358,7 +360,7 @@ JNIEXPORT jboolean JNICALL Java_org_lwjgl_openal_ALC_isExtensionPresent (JNIEnv jboolean result = (jboolean) alcIsExtensionPresent((ALCdevice*) deviceaddress, functionname); - env->ReleaseStringUTFChars((jstring)functionname, 0); + env->ReleaseStringUTFChars(extName, (const char *)functionname); CHECK_ALC_ERROR return result; @@ -381,7 +383,7 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_openal_ALC_getEnumValue (JNIEnv *env, jobj jint result = (jint) alcGetEnumValue((ALCdevice*) deviceaddress, enumerationname); - env->ReleaseStringUTFChars((jstring)enumerationname, 0); + env->ReleaseStringUTFChars(enumName, (const char *)enumerationname); CHECK_ALC_ERROR return result;