diff --git a/com/win32com/src/oleargs.cpp b/com/win32com/src/oleargs.cpp index 4e2653ab1d..1b43756d79 100644 --- a/com/win32com/src/oleargs.cpp +++ b/com/win32com/src/oleargs.cpp @@ -138,7 +138,14 @@ BOOL PyCom_VariantFromPyObject(PyObject *obj, VARIANT *var) V_BOOL(var) = VARIANT_FALSE; } else if (PyLong_Check(obj)) { +#if PY_VERSION_HEX >= 0x03140000 + int sign; + if (!PyLong_GetSign(obj, sign)) { + return NULL + } +#else int sign = _PyLong_Sign(obj); +#endif size_t nbits = _PyLong_NumBits(obj); if (nbits == (size_t)-1 && PyErr_Occurred()) return FALSE;