175 lines
6.1 KiB
Diff
175 lines
6.1 KiB
Diff
|
Fix for Python 3.9
|
||
|
|
||
|
https://github.com/FreeCAD/FreeCAD/commit/ae641dc5278efafa22b168fc196875558b92e436
|
||
|
|
||
|
diff --git src/Base/swigpyrun_1.3.25.h src/Base/swigpyrun_1.3.25.h
|
||
|
index 91717210b..9ebadbc83 100644
|
||
|
--- src/Base/swigpyrun_1.3.25.h
|
||
|
+++ src/Base/swigpyrun_1.3.25.h
|
||
|
@@ -699,7 +699,11 @@ PySwigObject_type(void) {
|
||
|
0, /*tp_itemsize*/
|
||
|
/* methods */
|
||
|
(destructor)PySwigObject_dealloc, /*tp_dealloc*/
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)PySwigObject_print, /*tp_print*/
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
(getattrfunc)0, /*tp_getattr*/
|
||
|
(setattrfunc)0, /*tp_setattr*/
|
||
|
(cmpfunc)PySwigObject_compare, /*tp_compare*/
|
||
|
@@ -859,7 +863,11 @@ PySwigPacked_type(void) {
|
||
|
0, /*tp_itemsize*/
|
||
|
/* methods */
|
||
|
(destructor)PySwigPacked_dealloc, /*tp_dealloc*/
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)PySwigPacked_print, /*tp_print*/
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
(getattrfunc)0, /*tp_getattr*/
|
||
|
(setattrfunc)0, /*tp_setattr*/
|
||
|
(cmpfunc)PySwigPacked_compare, /*tp_compare*/
|
||
|
diff --git src/Base/swigpyrun_1.3.33.h src/Base/swigpyrun_1.3.33.h
|
||
|
index f83ac1e89..afd5a8c50 100644
|
||
|
--- src/Base/swigpyrun_1.3.33.h
|
||
|
+++ src/Base/swigpyrun_1.3.33.h
|
||
|
@@ -1620,7 +1620,11 @@ _PySwigObject_type(void) {
|
||
|
sizeof(PySwigObject), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)PySwigObject_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)PySwigObject_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
#if PY_VERSION_HEX < 0x02020000
|
||
|
(getattrfunc)PySwigObject_getattr, /* tp_getattr */
|
||
|
#else
|
||
|
@@ -1790,7 +1794,11 @@ _PySwigPacked_type(void) {
|
||
|
sizeof(PySwigPacked), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)PySwigPacked_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)PySwigPacked_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
(getattrfunc)0, /* tp_getattr */
|
||
|
(setattrfunc)0, /* tp_setattr */
|
||
|
(cmpfunc)PySwigPacked_compare, /* tp_compare */
|
||
|
diff --git src/Base/swigpyrun_1.3.36.h src/Base/swigpyrun_1.3.36.h
|
||
|
index 02c58ad8a..12ad41e12 100644
|
||
|
--- src/Base/swigpyrun_1.3.36.h
|
||
|
+++ src/Base/swigpyrun_1.3.36.h
|
||
|
@@ -1628,7 +1628,12 @@ _PySwigObject_type(void) {
|
||
|
sizeof(PySwigObject), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)PySwigObject_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)PySwigObject_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
+
|
||
|
#if PY_VERSION_HEX < 0x02020000
|
||
|
(getattrfunc)PySwigObject_getattr, /* tp_getattr */
|
||
|
#else
|
||
|
@@ -1798,7 +1803,11 @@ _PySwigPacked_type(void) {
|
||
|
sizeof(PySwigPacked), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)PySwigPacked_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)PySwigPacked_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
(getattrfunc)0, /* tp_getattr */
|
||
|
(setattrfunc)0, /* tp_setattr */
|
||
|
(cmpfunc)PySwigPacked_compare, /* tp_compare */
|
||
|
diff --git src/Base/swigpyrun_1.3.38.h src/Base/swigpyrun_1.3.38.h
|
||
|
index dae058c20..7cacc1579 100644
|
||
|
--- src/Base/swigpyrun_1.3.38.h
|
||
|
+++ src/Base/swigpyrun_1.3.38.h
|
||
|
@@ -1741,7 +1741,11 @@ _PySwigObject_type(void) {
|
||
|
sizeof(SwigPyObject), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)SwigPyObject_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)SwigPyObject_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
#if PY_VERSION_HEX < 0x02020000
|
||
|
(getattrfunc)SwigPyObject_getattr, /* tp_getattr */
|
||
|
#else
|
||
|
@@ -1919,7 +1923,11 @@ _PySwigPacked_type(void) {
|
||
|
sizeof(SwigPyPacked), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)SwigPyPacked_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)SwigPyPacked_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
(getattrfunc)0, /* tp_getattr */
|
||
|
(setattrfunc)0, /* tp_setattr */
|
||
|
(cmpfunc)SwigPyPacked_compare, /* tp_compare */
|
||
|
diff --git src/Base/swigpyrun_1.3.40.h src/Base/swigpyrun_1.3.40.h
|
||
|
index 136ba809f..400db8b47 100644
|
||
|
--- src/Base/swigpyrun_1.3.40.h
|
||
|
+++ src/Base/swigpyrun_1.3.40.h
|
||
|
@@ -1766,7 +1766,11 @@ _PySwigObject_type(void) {
|
||
|
sizeof(SwigPyObject), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
(destructor)SwigPyObject_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
(printfunc)SwigPyObject_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
#if PY_VERSION_HEX < 0x02020000
|
||
|
(getattrfunc)SwigPyObject_getattr, /* tp_getattr */
|
||
|
#else
|
||
|
@@ -1947,8 +1951,12 @@ _PySwigPacked_type(void) {
|
||
|
(char *)"SwigPyPacked", /* tp_name */
|
||
|
sizeof(SwigPyPacked), /* tp_basicsize */
|
||
|
0, /* tp_itemsize */
|
||
|
- (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
|
||
|
- (printfunc)SwigPyPacked_print, /* tp_print */
|
||
|
+ (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
+ (printfunc)SwigPyPacked_print, /* tp_print */
|
||
|
+#else
|
||
|
+ 0, /*tp_vectorcall_offset*/
|
||
|
+#endif
|
||
|
(getattrfunc)0, /* tp_getattr */
|
||
|
(setattrfunc)0, /* tp_setattr */
|
||
|
#if PY_VERSION_HEX>=0x03000000
|
||
|
diff --git src/CXX/Python3/cxx_extensions.cxx src/CXX/Python3/cxx_extensions.cxx
|
||
|
index fb3da455f..9ff94612f 100644
|
||
|
--- src/CXX/Python3/cxx_extensions.cxx
|
||
|
+++ src/CXX/Python3/cxx_extensions.cxx
|
||
|
@@ -381,7 +381,11 @@ PythonType::PythonType( size_t basic_size, int itemsize, const char *default_nam
|
||
|
|
||
|
// Methods to implement standard operations
|
||
|
table->tp_dealloc = (destructor)standard_dealloc;
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
table->tp_print = 0;
|
||
|
+#else
|
||
|
+ table->tp_vectorcall_offset = 0;
|
||
|
+#endif
|
||
|
table->tp_getattr = 0;
|
||
|
table->tp_setattr = 0;
|
||
|
table->tp_repr = 0;
|
||
|
@@ -524,7 +528,9 @@ PythonType &PythonType::supportClass()
|
||
|
#ifdef PYCXX_PYTHON_2TO3
|
||
|
PythonType &PythonType::supportPrint()
|
||
|
{
|
||
|
+#if PY_VERSION_HEX < 0x03080000
|
||
|
table->tp_print = print_handler;
|
||
|
+#endif
|
||
|
return *this;
|
||
|
}
|
||
|
#endif
|