aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/games/gluegen/MethodBinding.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/games/gluegen/MethodBinding.java')
-rw-r--r--src/net/java/games/gluegen/MethodBinding.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/net/java/games/gluegen/MethodBinding.java b/src/net/java/games/gluegen/MethodBinding.java
index 9cdcd4b0b..b8f0eefdf 100644
--- a/src/net/java/games/gluegen/MethodBinding.java
+++ b/src/net/java/games/gluegen/MethodBinding.java
@@ -174,7 +174,8 @@ public class MethodBinding {
public boolean needsBody() {
if (!computedNeedsBody) {
if (javaReturnType.isCompoundTypeWrapper() ||
- javaReturnType.isNIOByteBuffer()) {
+ javaReturnType.isNIOByteBuffer() ||
+ javaReturnType.isArrayOfCompoundTypeWrappers()) {
// Needs wrapping and/or setting of byte order (neither of
// which can be done easily from native code)
needsBody = true;
@@ -204,6 +205,8 @@ public class MethodBinding {
binding.thisPointerIndex = thisPointerIndex;
if (javaReturnType.isCompoundTypeWrapper()) {
binding.setJavaReturnType(JavaType.forNIOByteBufferClass());
+ } else if (javaReturnType.isArrayOfCompoundTypeWrappers()) {
+ binding.setJavaReturnType(JavaType.forNIOByteBufferArrayClass());
} else {
binding.setJavaReturnType(javaReturnType);
}