summaryrefslogtreecommitdiffstats
path: root/src/java/com/sun/gluegen/MethodBinding.java
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2006-05-28 00:33:56 +0000
committerKenneth Russel <[email protected]>2006-05-28 00:33:56 +0000
commit1754f08ec0fb62ecd23f1ec3ec7c94da9a44de7a (patch)
treee221ab452ab74327f0fbaf3c84ed5640aef4fec5 /src/java/com/sun/gluegen/MethodBinding.java
parent623a3b5678a3ccea7b2c9ef2ee856146e2288f4c (diff)
Fixed and improved handling of Opaque directives for multiple pointer
depths in particular to fix AGLPbuffer case supplied by Justin Couch. Tested with builds on Windows, Linux and Mac OS X and AGL test case. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@33 a78bb65f-1512-4460-ba86-f6dc96a7bf27
Diffstat (limited to 'src/java/com/sun/gluegen/MethodBinding.java')
-rw-r--r--src/java/com/sun/gluegen/MethodBinding.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/java/com/sun/gluegen/MethodBinding.java b/src/java/com/sun/gluegen/MethodBinding.java
index b8ebb09..f8a4d2c 100644
--- a/src/java/com/sun/gluegen/MethodBinding.java
+++ b/src/java/com/sun/gluegen/MethodBinding.java
@@ -354,7 +354,10 @@ public class MethodBinding {
}
if (cArgType.isPointer()) {
- if (cArgType.asPointer().getTargetType().isPrimitive()) {
+ // Handle both real C primitive pointers and any constructions
+ // due to opaque directives
+ if (cArgType.asPointer().getTargetType().isPrimitive() ||
+ javaArgType.isCPrimitivePointerType()) {
signatureUsesCPrimitivePointers = true;
} else if (cArgType.asPointer().getTargetType().isVoid()) {
signatureUsesCVoidPointers = true;