Skip to content

Commit 4c9ff8b

Browse files
Update typemanager.cs
Fix crash of python interpreter 3.5 64-bit in garbage collector
1 parent ce14424 commit 4c9ff8b

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/runtime/typemanager.cs

+2
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ internal static IntPtr CreateSubType(IntPtr py_name, IntPtr py_base_type, IntPtr
206206
if (0 != Runtime.PyMapping_HasKey(py_dict, assemblyKey.Handle))
207207
{
208208
var pyAssembly = new PyObject(Runtime.PyDict_GetItem(py_dict, assemblyKey.Handle));
209+
Runtime.XIncref(pyAssembly.Handle);
209210
disposeList.Add(pyAssembly);
210211
if (!Converter.ToManagedValue(pyAssembly.Handle, typeof(string), out assembly, false))
211212
{
@@ -218,6 +219,7 @@ internal static IntPtr CreateSubType(IntPtr py_name, IntPtr py_base_type, IntPtr
218219
if (0 != Runtime.PyMapping_HasKey(py_dict, namespaceKey.Handle))
219220
{
220221
var pyNamespace = new PyObject(Runtime.PyDict_GetItem(py_dict, namespaceKey.Handle));
222+
Runtime.XIncref(pyNamespace.Handle);
221223
disposeList.Add(pyNamespace);
222224
if (!Converter.ToManagedValue(pyNamespace.Handle, typeof(string), out namespaceStr, false))
223225
{

0 commit comments

Comments
 (0)