summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/com/jogamp/gluegen/CMethodBindingEmitter.java4
-rw-r--r--src/java/com/jogamp/gluegen/JavaEmitter.java2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/java/com/jogamp/gluegen/CMethodBindingEmitter.java b/src/java/com/jogamp/gluegen/CMethodBindingEmitter.java
index be69a38..334df1b 100644
--- a/src/java/com/jogamp/gluegen/CMethodBindingEmitter.java
+++ b/src/java/com/jogamp/gluegen/CMethodBindingEmitter.java
@@ -1212,6 +1212,10 @@ public class CMethodBindingEmitter extends FunctionEmitter {
if (type.isPrimitiveArray()) {
getJNIMangledArg(Integer.TYPE, buf, false);
}
+ } else if (type.isNamedClass()) {
+ buf.append("L");
+ buf.append(type.getName().replace('.', '_'));
+ buf.append("_2");
} else if (type.isCompoundTypeWrapper()) {
// Mangle wrappers for C structs as ByteBuffer
getJNIMangledArg(java.nio.ByteBuffer.class, buf, true);
diff --git a/src/java/com/jogamp/gluegen/JavaEmitter.java b/src/java/com/jogamp/gluegen/JavaEmitter.java
index 59ca290..4953807 100644
--- a/src/java/com/jogamp/gluegen/JavaEmitter.java
+++ b/src/java/com/jogamp/gluegen/JavaEmitter.java
@@ -3103,7 +3103,7 @@ public class JavaEmitter implements GlueEmitter {
if( isJavaCallbackArg ) {
// Replace JavaCallback type with generated interface name
- mappedType = JavaType.createForCStruct(cArgType.getName());
+ mappedType = JavaType.createForNamedClass(cArgType.getName());
} else if( null != javaCallback && null != javaCallback.userParamName &&
javaCallback.userParamName.equals( cArgName ) &&
cArgType.isPointer() && cArgType.getTargetType().isVoid() )