You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
8.3 KiB
176 lines
8.3 KiB
From 00e84cfcc5a0812503b431238fc26c349b0d714f Mon Sep 17 00:00:00 2001 |
|
From: David Gobbi <david.gobbi@gmail.com> |
|
Date: Tue, 20 Aug 2019 17:02:24 -0600 |
|
Subject: [PATCH] Compatibility for Python 3.8 |
|
|
|
The PyTypeObject struct was modified in Python 3.8, this change is |
|
required to avoid compile errors. |
|
--- |
|
Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h | 6 ++++++ |
|
Wrapping/PythonCore/PyVTKMethodDescriptor.cxx | 2 +- |
|
Wrapping/PythonCore/PyVTKNamespace.cxx | 2 +- |
|
Wrapping/PythonCore/PyVTKReference.cxx | 8 ++++---- |
|
Wrapping/PythonCore/PyVTKTemplate.cxx | 2 +- |
|
Wrapping/PythonCore/vtkPythonCompatibility.h | 8 +++++++- |
|
Wrapping/Tools/vtkWrapPythonClass.c | 2 +- |
|
Wrapping/Tools/vtkWrapPythonEnum.c | 2 +- |
|
Wrapping/Tools/vtkWrapPythonType.c | 2 +- |
|
9 files changed, 23 insertions(+), 11 deletions(-) |
|
|
|
diff --git a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h |
|
index b1c12c8..14ccfbe 100644 |
|
--- a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h |
|
+++ b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h |
|
@@ -140,6 +140,12 @@ static PyTypeObject vtkPythonStdStreamCaptureHelperType = { |
|
#if PY_VERSION_HEX >= 0x03040000 |
|
0, // tp_finalize |
|
#endif |
|
+#if PY_VERSION_HEX >= 0x03080000 |
|
+ 0, // tp_vectorcall |
|
+#if PY_VERSION_HEX < 0x03090000 |
|
+ 0, // tp_print |
|
+#endif |
|
+#endif |
|
}; |
|
|
|
static PyObject* vtkWrite(PyObject* self, PyObject* args) |
|
diff --git a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx |
|
index 2b0d443..3840038 100644 |
|
--- a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx |
|
+++ b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx |
|
@@ -186,7 +186,7 @@ PyTypeObject PyVTKMethodDescriptor_Type = { |
|
sizeof(PyMethodDescrObject), // tp_basicsize |
|
0, // tp_itemsize |
|
PyVTKMethodDescriptor_Delete, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
diff --git a/Wrapping/PythonCore/PyVTKNamespace.cxx b/Wrapping/PythonCore/PyVTKNamespace.cxx |
|
index 71ee2a3..5cf5bfb 100644 |
|
--- a/Wrapping/PythonCore/PyVTKNamespace.cxx |
|
+++ b/Wrapping/PythonCore/PyVTKNamespace.cxx |
|
@@ -49,7 +49,7 @@ PyTypeObject PyVTKNamespace_Type = { |
|
0, // tp_basicsize |
|
0, // tp_itemsize |
|
PyVTKNamespace_Delete, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
diff --git a/Wrapping/PythonCore/PyVTKReference.cxx b/Wrapping/PythonCore/PyVTKReference.cxx |
|
index 943ac71..b710409 100644 |
|
--- a/Wrapping/PythonCore/PyVTKReference.cxx |
|
+++ b/Wrapping/PythonCore/PyVTKReference.cxx |
|
@@ -1010,7 +1010,7 @@ PyTypeObject PyVTKReference_Type = { |
|
sizeof(PyVTKReference), // tp_basicsize |
|
0, // tp_itemsize |
|
PyVTKReference_Delete, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
@@ -1067,7 +1067,7 @@ PyTypeObject PyVTKNumberReference_Type = { |
|
sizeof(PyVTKReference), // tp_basicsize |
|
0, // tp_itemsize |
|
PyVTKReference_Delete, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
@@ -1124,7 +1124,7 @@ PyTypeObject PyVTKStringReference_Type = { |
|
sizeof(PyVTKReference), // tp_basicsize |
|
0, // tp_itemsize |
|
PyVTKReference_Delete, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
@@ -1181,7 +1181,7 @@ PyTypeObject PyVTKTupleReference_Type = { |
|
sizeof(PyVTKReference), // tp_basicsize |
|
0, // tp_itemsize |
|
PyVTKReference_Delete, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
diff --git a/Wrapping/PythonCore/PyVTKTemplate.cxx b/Wrapping/PythonCore/PyVTKTemplate.cxx |
|
index be20098..340fe79 100644 |
|
--- a/Wrapping/PythonCore/PyVTKTemplate.cxx |
|
+++ b/Wrapping/PythonCore/PyVTKTemplate.cxx |
|
@@ -268,7 +268,7 @@ PyTypeObject PyVTKTemplate_Type = { |
|
0, // tp_basicsize |
|
0, // tp_itemsize |
|
nullptr, // tp_dealloc |
|
- nullptr, // tp_print |
|
+ 0, // tp_vectorcall_offset |
|
nullptr, // tp_getattr |
|
nullptr, // tp_setattr |
|
nullptr, // tp_compare |
|
diff --git a/Wrapping/PythonCore/vtkPythonCompatibility.h b/Wrapping/PythonCore/vtkPythonCompatibility.h |
|
index 4a76784..be208fa 100644 |
|
--- a/Wrapping/PythonCore/vtkPythonCompatibility.h |
|
+++ b/Wrapping/PythonCore/vtkPythonCompatibility.h |
|
@@ -64,7 +64,13 @@ |
|
#endif |
|
|
|
// PyTypeObject compatibility |
|
-#if PY_VERSION_HEX >= 0x03040000 |
|
+#if PY_VERSION_HEX >= 0x03090000 |
|
+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \ |
|
+ 0, 0, 0, 0, |
|
+#elif PY_VERSION_HEX >= 0x03080000 |
|
+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \ |
|
+ 0, 0, 0, 0, 0, |
|
+#elif PY_VERSION_HEX >= 0x03040000 |
|
#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \ |
|
0, 0, 0, |
|
#else |
|
diff --git a/Wrapping/Tools/vtkWrapPythonClass.c b/Wrapping/Tools/vtkWrapPythonClass.c |
|
index b1e45f8..4d558ea 100644 |
|
--- a/Wrapping/Tools/vtkWrapPythonClass.c |
|
+++ b/Wrapping/Tools/vtkWrapPythonClass.c |
|
@@ -521,7 +521,7 @@ void vtkWrapPython_GenerateObjectType( |
|
" sizeof(PyVTKObject), // tp_basicsize\n" |
|
" 0, // tp_itemsize\n" |
|
" PyVTKObject_Delete, // tp_dealloc\n" |
|
- " nullptr, // tp_print\n" |
|
+ " 0, // tp_vectorcall_offset\n" |
|
" nullptr, // tp_getattr\n" |
|
" nullptr, // tp_setattr\n" |
|
" nullptr, // tp_compare\n" |
|
diff --git a/Wrapping/Tools/vtkWrapPythonEnum.c b/Wrapping/Tools/vtkWrapPythonEnum.c |
|
index b933702..1249362 100644 |
|
--- a/Wrapping/Tools/vtkWrapPythonEnum.c |
|
+++ b/Wrapping/Tools/vtkWrapPythonEnum.c |
|
@@ -145,7 +145,7 @@ void vtkWrapPython_GenerateEnumType( |
|
" sizeof(PyIntObject), // tp_basicsize\n" |
|
" 0, // tp_itemsize\n" |
|
" nullptr, // tp_dealloc\n" |
|
- " nullptr, // tp_print\n" |
|
+ " 0, // tp_vectorcall_offset\n" |
|
" nullptr, // tp_getattr\n" |
|
" nullptr, // tp_setattr\n" |
|
" nullptr, // tp_compare\n" |
|
diff --git a/Wrapping/Tools/vtkWrapPythonType.c b/Wrapping/Tools/vtkWrapPythonType.c |
|
index 744cb1b..0a1375e 100644 |
|
--- a/Wrapping/Tools/vtkWrapPythonType.c |
|
+++ b/Wrapping/Tools/vtkWrapPythonType.c |
|
@@ -709,7 +709,7 @@ void vtkWrapPython_GenerateSpecialType( |
|
" sizeof(PyVTKSpecialObject), // tp_basicsize\n" |
|
" 0, // tp_itemsize\n" |
|
" Py%s_Delete, // tp_dealloc\n" |
|
- " nullptr, // tp_print\n" |
|
+ " 0, // tp_vectorcall_offset\n" |
|
" nullptr, // tp_getattr\n" |
|
" nullptr, // tp_setattr\n" |
|
" nullptr, // tp_compare\n" |
|
-- |
|
2.10.1 (Apple Git-78) |
|
|
|
|