use safeGetBufferAddress when loading data

use correct size of image, instead of size of pointer (!)
This commit is contained in:
Brian Matzon 2004-11-21 10:10:05 +00:00
parent db1952489a
commit d04c4920b8
1 changed files with 3 additions and 3 deletions

View File

@ -270,7 +270,7 @@ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_IL_ilGetBoolean(JNIEnv *env, jcl
JNIEXPORT jobject JNICALL Java_org_lwjgl_devil_IL_ilGetData(JNIEnv * env, jclass clazz) {
ILubyte *data = ilGetData();
int size = sizeof(data);
int size = ilGetInteger(IL_IMAGE_WIDTH) * ilGetInteger(IL_IMAGE_HEIGHT) * ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
jobject result = safeNewBuffer(env, data, size);
return result;
@ -438,9 +438,9 @@ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_IL_ilLoadImage(JNIEnv *env, jcla
* Signature: (ILjava/nio/ByteBuffer;II)Z
*/
JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_IL_nilLoadL(JNIEnv *env, jclass clazz, jint type, jobject lump_buffer, jint lump_offset, jint size) {
ILbyte *lump = (ILbyte *)(*env)->GetDirectBufferAddress(env, lump_buffer);
ILbyte *lump = (ILbyte *)safeGetBufferAddress(env, lump_buffer, lump_offset);
return ilLoadL((ILenum)type, (ILvoid *)(lump + lump_offset), (ILuint)size);
return ilLoadL((ILenum)type, (ILvoid *)(lump), (ILuint)size);
}
/*