Browse Source

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.
comex 5 years ago
parent
commit
849d5462ad

+ 2 - 0
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
 

+ 4 - 0
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