summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXerxes Rånby <[email protected]>2015-07-08 22:06:32 +0200
committerXerxes Rånby <[email protected]>2015-07-08 22:16:33 +0200
commite424c28f869269f5a22c22ef017230346b22847a (patch)
tree068b0ed00e9c4fb17bf01825e1e21c50911d8667
parent658d5837d7db96387976a5848b51a7ca651bee66 (diff)
BUG 1166: Fix JavaEmitter JVMUtil_NewDirectByteBufferCopy
Prevents jlong to jint truncation when capacity is passed from jni to java. com.jogamp.common.nio.Buffers newDirectByteBuffer and the underlying java.nio.ByteBuffer allocateDirect only work with capacitys of int size. Signed-off-by: Xerxes Rånby <[email protected]>
-rw-r--r--src/java/com/jogamp/gluegen/JavaEmitter.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/java/com/jogamp/gluegen/JavaEmitter.java b/src/java/com/jogamp/gluegen/JavaEmitter.java
index 60cd3f4..1952a43 100644
--- a/src/java/com/jogamp/gluegen/JavaEmitter.java
+++ b/src/java/com/jogamp/gluegen/JavaEmitter.java
@@ -2501,7 +2501,7 @@ public class JavaEmitter implements GlueEmitter {
if (getConfig().emitImpl()) {
cWriter.println("#include <assert.h>");
cWriter.println();
- cWriter.println("static jobject JVMUtil_NewDirectByteBufferCopy(JNIEnv *env, void * source_address, jlong capacity); /* forward decl. */");
+ cWriter.println("static jobject JVMUtil_NewDirectByteBufferCopy(JNIEnv *env, void * source_address, jint capacity); /* forward decl. */");
cWriter.println();
}
for (final String code : cfg.customCCode()) {
@@ -2549,7 +2549,7 @@ public class JavaEmitter implements GlueEmitter {
" return JNI_TRUE;\n"+
"}\n"+
"\n"+
- "static jobject JVMUtil_NewDirectByteBufferCopy(JNIEnv *env, void * source_address, jlong capacity) {\n"+
+ "static jobject JVMUtil_NewDirectByteBufferCopy(JNIEnv *env, void * source_address, jint capacity) {\n"+
" jobject jbyteBuffer;\n"+
" void * byteBufferPtr;\n"+
"\n"+