diff options
author | Sven Gothel <[email protected]> | 2023-07-01 18:57:37 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-07-01 18:57:37 +0200 |
commit | 8766fcfdce4dd864fe6764b063a0f9a4b17327c1 (patch) | |
tree | 4fb5a2441b0a3fb9f3d12c6456f316b42b579cac /src/java/com/jogamp/gluegen/JavaConfiguration.java | |
parent | 6200b9122a90ef8c2af8b9205b4b1c90b1aa5074 (diff) |
GlueGen JavaCallback: Only produce default 'Key' class if keys are used, expose 'Key' to public and use it. Expose release*() and get*Keys() methods
Further we use a dedicated lock Object used in the Java implementation.
TODO: Native static callback dispatch code shall
- (also) acquire the lock
- handle case where the data has been released already
to render this solution thread-safe and data-race free
Diffstat (limited to 'src/java/com/jogamp/gluegen/JavaConfiguration.java')
-rw-r--r-- | src/java/com/jogamp/gluegen/JavaConfiguration.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/java/com/jogamp/gluegen/JavaConfiguration.java b/src/java/com/jogamp/gluegen/JavaConfiguration.java index 1fe2747..3e2e680 100644 --- a/src/java/com/jogamp/gluegen/JavaConfiguration.java +++ b/src/java/com/jogamp/gluegen/JavaConfiguration.java @@ -2293,6 +2293,7 @@ public class JavaConfiguration { boolean setFuncProcessed; int setFuncCBParamIdx; int setFuncUserParamIdx; + boolean keyClassEmitted; public JavaCallbackInfo(final String cbFuncTypeName, final String cbSimpleClazzName, final String cbFQClazzName, final String cbMethodSignature, final FunctionType cbFuncType, final MethodBinding cbFuncBinding, final int cbFuncUserParamIdx, @@ -2326,6 +2327,7 @@ public class JavaConfiguration { this.setFuncProcessed = false; this.setFuncCBParamIdx = -1; this.setFuncUserParamIdx = -1; + this.keyClassEmitted = false; } public void setFuncProcessed(final int cbParamIdx, final int userParamIdx) { |