From 21b1ea9862683e5f0119950bc8364638115b5c79 Mon Sep 17 00:00:00 2001 From: Brian Matzon Date: Mon, 26 Aug 2002 21:28:30 +0000 Subject: [PATCH] fix: allow null to be passed to openDevice --- src/native/win32/org_lwjgl_openal_ALC.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/native/win32/org_lwjgl_openal_ALC.cpp b/src/native/win32/org_lwjgl_openal_ALC.cpp index 45dc7109..f4c2ec46 100644 --- a/src/native/win32/org_lwjgl_openal_ALC.cpp +++ b/src/native/win32/org_lwjgl_openal_ALC.cpp @@ -83,14 +83,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 = (ALubyte*) (env->GetStringUTFChars(tokstr, 0)); + ALubyte* tokenstring; + + if(tokstr != NULL) { + tokenstring = (ALubyte*) (env->GetStringUTFChars(tokstr, 0)); + } else { + tokenstring = NULL; + } /* get device */ ALCdevice* device = alcOpenDevice(tokenstring); /* if error - cleanup and get out */ if(device == NULL) { - env->ReleaseStringUTFChars((jstring)tokenstring, 0); + if(tokenstring != NULL) { + env->ReleaseStringUTFChars((jstring)tokenstring, 0); + } return NULL; }