From 849d5462ad1a7ceff3b22b7a78da1a7b9b52dcc8 Mon Sep 17 00:00:00 2001 From: comex Date: Sun, 8 Mar 2020 17:48:04 -0700 Subject: [PATCH] obs-scripting: Add missing Python imports Add PyDict_New and PyTuple_New to obs-scripting-python-import.[ch]; these functions are used by SWIG's generated code when I build OBS on macOS with SWIG 4.0.1. --- deps/obs-scripting/obs-scripting-python-import.c | 2 ++ deps/obs-scripting/obs-scripting-python-import.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/deps/obs-scripting/obs-scripting-python-import.c b/deps/obs-scripting/obs-scripting-python-import.c index c8f74efb5..d80618e72 100644 --- a/deps/obs-scripting/obs-scripting-python-import.c +++ b/deps/obs-scripting/obs-scripting-python-import.c @@ -108,6 +108,7 @@ bool import_python(const char *python_path) IMPORT_FUNC(PyExc_RuntimeError); IMPORT_FUNC(PyObject_GetAttr); IMPORT_FUNC(PyUnicode_FromString); + IMPORT_FUNC(PyDict_New); IMPORT_FUNC(PyDict_GetItemString); IMPORT_FUNC(PyDict_SetItemString); IMPORT_FUNC(PyCFunction_NewEx); @@ -140,6 +141,7 @@ bool import_python(const char *python_path) IMPORT_FUNC(PyLong_FromUnsignedLongLong); IMPORT_FUNC(PyArg_VaParse); IMPORT_FUNC(_Py_NoneStruct); + IMPORT_FUNC(PyTuple_New); #undef IMPORT_FUNC diff --git a/deps/obs-scripting/obs-scripting-python-import.h b/deps/obs-scripting/obs-scripting-python-import.h index 1394b28f6..cf22587eb 100644 --- a/deps/obs-scripting/obs-scripting-python-import.h +++ b/deps/obs-scripting/obs-scripting-python-import.h @@ -92,6 +92,7 @@ PY_EXTERN PyObject *(*Import_PyExc_TypeError); PY_EXTERN PyObject *(*Import_PyExc_RuntimeError); PY_EXTERN PyObject *(*Import_PyObject_GetAttr)(PyObject *, PyObject *); PY_EXTERN PyObject *(*Import_PyUnicode_FromString)(const char *u); +PY_EXTERN PyObject *(*Import_PyDict_New)(void); PY_EXTERN PyObject *(*Import_PyDict_GetItemString)(PyObject *dp, const char *key); PY_EXTERN int (*Import_PyDict_SetItemString)(PyObject *dp, const char *key, @@ -133,6 +134,7 @@ PY_EXTERN PyObject *(*Import_PyUnicode_AsUTF8String)(PyObject *unicode); PY_EXTERN PyObject *(*Import_PyLong_FromUnsignedLongLong)(unsigned long long); PY_EXTERN int (*Import_PyArg_VaParse)(PyObject *, const char *, va_list); PY_EXTERN PyObject(*Import__Py_NoneStruct); +PY_EXTERN PyObject *(*Import_PyTuple_New)(Py_ssize_t size); extern bool import_python(const char *python_path); @@ -174,6 +176,7 @@ extern bool import_python(const char *python_path); #define PyExc_RuntimeError (*Import_PyExc_RuntimeError) #define PyObject_GetAttr Import_PyObject_GetAttr #define PyUnicode_FromString Import_PyUnicode_FromString +#define PyDict_New Import_PyDict_New #define PyDict_GetItemString Import_PyDict_GetItemString #define PyDict_SetItemString Import_PyDict_SetItemString #define PyCFunction_NewEx Import_PyCFunction_NewEx @@ -206,6 +209,7 @@ extern bool import_python(const char *python_path); #define PyLong_FromUnsignedLongLong Import_PyLong_FromUnsignedLongLong #define PyArg_VaParse Import_PyArg_VaParse #define _Py_NoneStruct (*Import__Py_NoneStruct) +#define PyTuple_New Import_PyTuple_New #endif #endif