Update of /cvsroot/java-game-lib/LWJGL/src/native/win32
In directory usw-pr-cvs1:/tmp/cvs-serv12880
Modified Files:
org_lwjgl_openal_ALC.cpp
Log Message:
fix: NULL check in getString
fix: wrong object being used when retrieving fields
Index: org_lwjgl_openal_ALC.cpp
CVS Browser:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_openal_ALC.cpp
===================================================================
RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_openal_ALC.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- org_lwjgl_openal_ALC.cpp 26 Aug 2002 21:28:30 -0000 1.5
+++ org_lwjgl_openal_ALC.cpp 26 Aug 2002 22:16:25 -0000 1.6
@@ -53,9 +53,14 @@
JNIEXPORT jstring JNICALL Java_org_lwjgl_openal_ALC_getString (JNIEnv *env, jobject obj, jobject device, jint token) {
jclass class_device = env->GetObjectClass(device);
jfieldID field_device = env->GetFieldID(class_device, "device", "I");
- jint deviceaddress = env->GetIntField(obj, field_device);
+ jint deviceaddress = env->GetIntField(device, field_device);
- jstring string = env->NewStringUTF((const char*) alcGetString((ALCdevice*) deviceaddress, (ALenum) token));
+ const char* alcString = (const char*) alcGetString((ALCdevice*) deviceaddress, (ALenum) token);
+ if(alcString == NULL) {
+ return NULL;
+ }
+
+ jstring string = env->NewStringUTF(alcString);
CHECK_ALC_ERROR
return string;
@@ -70,7 +75,7 @@
JNIEXPORT void JNICALL Java_org_lwjgl_openal_ALC_getIntegerv (JNIEnv *env, jobject obj, jobject device, jint token, jint size, jint dest) {
jclass device_class = env->GetObjectClass(device);
jfieldID device_field = env->GetFieldID(device_class, "device", "I");
- jint deviceaddress = env->GetIntField(obj, device_field);
+ jint deviceaddress = env->GetIntField(device, device_field);
alcGetIntegerv((ALCdevice*) deviceaddress, (ALenum) token, (ALsizei) size, (ALint*) dest);
CHECK_ALC_ERROR
|