From d6fa0b1d181ef4dd4f44edb450fe690eb92d54dd Mon Sep 17 00:00:00 2001 From: markus Date: Mon, 26 Apr 2021 12:36:36 -0700 Subject: [PATCH] Fix generation and build of python classes for 3.9 --- src/Base/PyObjectBase.cpp | 8 ++++++++ src/Tools/generateTemplates/templateClassPyExport.py | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/src/Base/PyObjectBase.cpp b/src/Base/PyObjectBase.cpp index dd9ac4e471..5f8108c4ea 100644 --- a/src/Base/PyObjectBase.cpp +++ b/src/Base/PyObjectBase.cpp @@ -105,7 +105,11 @@ static PyTypeObject PyBaseProxyType = { sizeof(PyBaseProxy), /*tp_basicsize*/ 0, /*tp_itemsize*/ PyBaseProxy_dealloc, /*tp_dealloc*/ +#if PY_VERSION_HEX >= 0x03090000 + 0, /*tp_vectorcall_offset*/ +#else nullptr, /*tp_print*/ +#endif nullptr, /*tp_getattr*/ nullptr, /*tp_setattr*/ nullptr, /*tp_compare*/ @@ -164,7 +168,11 @@ PyTypeObject PyObjectBase::Type = { 0, /*tp_itemsize*/ /* --- methods ---------------------------------------------- */ PyDestructor, /*tp_dealloc*/ +#if PY_VERSION_HEX >= 0x03090000 + 0, /*tp_vectorcall_offset*/ +#else nullptr, /*tp_print*/ +#endif nullptr, /*tp_getattr*/ nullptr, /*tp_setattr*/ nullptr, /*tp_compare*/ diff --git a/src/Tools/generateTemplates/templateClassPyExport.py b/src/Tools/generateTemplates/templateClassPyExport.py index 52c06e41c9..75a1eb2204 100644 --- a/src/Tools/generateTemplates/templateClassPyExport.py +++ b/src/Tools/generateTemplates/templateClassPyExport.py @@ -285,7 +285,11 @@ PyTypeObject @self.export.Name@::Type = { 0, /*tp_itemsize*/ /* methods */ PyDestructor, /*tp_dealloc*/ +#if PY_VERSION_HEX >= 0x03090000 + 0, /*tp_vectorcall_offset*/ +#else nullptr, /*tp_print*/ +#endif nullptr, /*tp_getattr*/ nullptr, /*tp_setattr*/ nullptr, /*tp_compare*/