From 3f0e8c146f61d134af016c03f50fe30763806047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Mon, 13 Apr 2026 08:45:22 +0200 Subject: [PATCH] Add GC preserve to prevent segfaults --- src/core.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core.jl b/src/core.jl index 9e51814..6e44c10 100644 --- a/src/core.jl +++ b/src/core.jl @@ -475,7 +475,7 @@ for (x, name) in [(:(<:Any), :Object), function _jcall(obj::T, jmethodId::Ptr{Nothing}, rettype::Type{$x}, argtypes::Tuple, args...; callmethod=$callmethod) where T <: $t savedArgs, convertedArgs = convert_args(argtypes, args...) - GC.@preserve savedArgs begin + GC.@preserve obj savedArgs convertedArgs begin result = callmethod(Ptr(obj), jmethodId, Array{JNI.jvalue}(jvalue.(convertedArgs))) end cleanup_arg.(convertedArgs)