Skip to content

Commit 04a9507

Browse files
author
Christopher Doris
committed
Fix: Use GC.@preserve in pyconvert_rule_ctypessimplevalue
1 parent 354d53f commit 04a9507

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/Convert/ctypes.jl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
struct pyconvert_rule_ctypessimplevalue{R,S} <: Function end
22

33
function (::pyconvert_rule_ctypessimplevalue{R,SAFE})(::Type{T}, x::Py) where {R,SAFE,T}
4-
ptr = C.PySimpleObject_GetValue(Ptr{R}, x)
5-
ans = unsafe_load(ptr)
6-
if SAFE
7-
pyconvert_return(convert(T, ans))
8-
else
9-
pyconvert_tryconvert(T, ans)
4+
Base.GC.@preserve x begin
5+
ptr = C.PySimpleObject_GetValue(Ptr{R}, x)
6+
ans = unsafe_load(ptr)
7+
if SAFE
8+
pyconvert_return(convert(T, ans))
9+
else
10+
pyconvert_tryconvert(T, ans)
11+
end
1012
end
1113
end
1214

0 commit comments

Comments
 (0)