Skip to content

Commit 2bb5736

Browse files
committed
[FIX] javaObject() to return LocalRef when hasCustomConstructor.
1 parent 665621a commit 2bb5736

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

compiler/src/main/java/com/readdle/codegen/SwiftReferenceDescriptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ File generateCode() throws IOException {
200200
swiftWriter.emitStatement("// Create java object with native pointer");
201201
swiftWriter.emitStatement("func javaObject() throws -> jobject {");
202202
if (hasCustomConstructor){
203-
swiftWriter.emitStatement("return self.javaObject!");
203+
swiftWriter.emitStatement("return JNI.api.NewLocalRef( JNI.env, javaObject! )!");
204204
}else{
205205
swiftWriter.emitStatement("let nativePointer = jlong(Int(bitPattern: Unmanaged.passRetained(self).toOpaque()))");
206206
swiftWriter.emitStatement("guard let result = JNI.NewObject(javaClass, methodID: javaConstructor) else {\nthrow NSError(domain: \"CantCreateObject\", code: 1)\n}");

0 commit comments

Comments
 (0)