From 3bdf1fecce5cab12e46f73d0bd9385ded5b4a867 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 23 Mar 2022 18:03:58 +0100 Subject: [PATCH] App: fix for Py3.8 or newer --- src/App/FeaturePythonPyImp.inl | 76 ++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/src/App/FeaturePythonPyImp.inl b/src/App/FeaturePythonPyImp.inl index 4b2c1a65f7..0e89e651f7 100644 --- a/src/App/FeaturePythonPyImp.inl +++ b/src/App/FeaturePythonPyImp.inl @@ -33,51 +33,55 @@ PyTypeObject FeaturePythonPyT::Type = { 0, /*tp_itemsize*/ /* methods */ FeaturePyT::PyDestructor, /*tp_dealloc*/ - 0, /*tp_print*/ - nullptr, /*tp_getattr*/ - nullptr, /*tp_setattr*/ - nullptr, /*tp_compare*/ - nullptr, /*tp_repr*/ - nullptr, /*tp_as_number*/ - nullptr, /*tp_as_sequence*/ - nullptr, /*tp_as_mapping*/ - nullptr, /*tp_hash*/ - nullptr, /*tp_call */ - nullptr, /*tp_str */ +#if PY_VERSION_HEX >= 0x03080000 + 0, /*tp_vectorcall_offset*/ +#else + nullptr, /*tp_print*/ +#endif + nullptr, /*tp_getattr*/ + nullptr, /*tp_setattr*/ + nullptr, /*tp_compare*/ + nullptr, /*tp_repr*/ + nullptr, /*tp_as_number*/ + nullptr, /*tp_as_sequence*/ + nullptr, /*tp_as_mapping*/ + nullptr, /*tp_hash*/ + nullptr, /*tp_call */ + nullptr, /*tp_str */ FeaturePyT::__getattro, /*tp_getattro*/ __setattro, /*tp_setattro*/ /* --- Functions to access object as input/output buffer ---------*/ - nullptr, /* tp_as_buffer */ + nullptr, /* tp_as_buffer */ /* --- Flags to define presence of optional/expanded features */ Py_TPFLAGS_BASETYPE|Py_TPFLAGS_DEFAULT, /*tp_flags */ "This is the father of all Feature classes", /*tp_doc */ - nullptr, /*tp_traverse */ - nullptr, /*tp_clear */ - nullptr, /*tp_richcompare */ + nullptr, /*tp_traverse */ + nullptr, /*tp_clear */ + nullptr, /*tp_richcompare */ 0, /*tp_weaklistoffset */ - nullptr, /*tp_iter */ - nullptr, /*tp_iternext */ - nullptr, /*tp_methods */ - nullptr, /*tp_members */ - nullptr, /*tp_getset */ + nullptr, /*tp_iter */ + nullptr, /*tp_iternext */ + nullptr, /*tp_methods */ + nullptr, /*tp_members */ + nullptr, /*tp_getset */ &FeaturePyT::Type, /*tp_base */ - nullptr, /*tp_dict */ - nullptr, /*tp_descr_get */ - nullptr, /*tp_descr_set */ + nullptr, /*tp_dict */ + nullptr, /*tp_descr_get */ + nullptr, /*tp_descr_set */ 0, /*tp_dictoffset */ FeaturePyT::__PyInit, /*tp_init */ - nullptr, /*tp_alloc */ - nullptr, /*tp_new */ - nullptr, /*tp_free Low-level free-memory routine */ - nullptr, /*tp_is_gc For PyObject_IS_GC */ - nullptr, /*tp_bases */ - nullptr, /*tp_mro method resolution order */ - nullptr, /*tp_cache */ - nullptr, /*tp_subclasses */ - nullptr, /*tp_weaklist */ - nullptr, /*tp_del */ - 0 /*tp_version_tag */ - ,nullptr /*tp_finalize */ + nullptr, /*tp_alloc */ + nullptr, /*tp_new */ + nullptr, /*tp_free Low-level free-memory routine */ + nullptr, /*tp_is_gc For PyObject_IS_GC */ + nullptr, /*tp_bases */ + nullptr, /*tp_mro method resolution order */ + nullptr, /*tp_cache */ + nullptr, /*tp_subclasses */ + nullptr, /*tp_weaklist */ + nullptr, /*tp_del */ + 0, /*tp_version_tag */ + nullptr /*tp_finalize */ #if PY_VERSION_HEX >= 0x03080000 ,0 /*tp_vectorcall */ #endif @@ -85,7 +89,7 @@ PyTypeObject FeaturePythonPyT::Type = { template FeaturePythonPyT::FeaturePythonPyT(Base::BaseClass *pcObject, PyTypeObject *T) - : FeaturePyT(reinterpret_cast(pcObject), T) + : FeaturePyT(static_cast(pcObject), T) { Base::PyGILStateLocker lock; dict_methods = PyDict_New();