Skip to content

Commit 9e0dd70

Browse files
committed
fix free-threaded builds
1 parent b7337a7 commit 9e0dd70

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Modules/_cursesmodule.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4898,8 +4898,9 @@ curses_capi_free(void *capi)
48984898
{
48994899
assert(capi != NULL);
49004900
void **capi_ptr = (void **)capi;
4901-
assert(capi_ptr[0] != NULL);
4902-
Py_DECREF(capi_ptr[0]); // decref curses window type
4901+
// In free-threaded builds, capi_ptr[0] may have been already cleared
4902+
// by curses_capi_capsule_destructor(), hence the use of Py_XDECREF().
4903+
Py_XDECREF(capi_ptr[0]); // decref curses window type
49034904
PyMem_Free(capi_ptr);
49044905
}
49054906

0 commit comments

Comments
 (0)