diff options
| -rw-r--r-- | sources/pyside6/libpyside/pysidesignal.cpp | 6 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pysidesignal.h | 16 |
2 files changed, 21 insertions, 1 deletions
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp index faa6fdce1..276da1cad 100644 --- a/sources/pyside6/libpyside/pysidesignal.cpp +++ b/sources/pyside6/libpyside/pysidesignal.cpp @@ -733,6 +733,12 @@ bool checkType(PyObject *pyObj) return false; } +bool checkInstanceType(PyObject *pyObj) +{ + return pyObj != nullptr + && PyType_IsSubtype(Py_TYPE(pyObj), PySideSignalInstanceTypeF()) != 0; +} + void updateSourceObject(PyObject *source) { PyTypeObject *objType = reinterpret_cast<PyTypeObject *>(PyObject_Type(source)); diff --git a/sources/pyside6/libpyside/pysidesignal.h b/sources/pyside6/libpyside/pysidesignal.h index 55e1ee405..edef37af1 100644 --- a/sources/pyside6/libpyside/pysidesignal.h +++ b/sources/pyside6/libpyside/pysidesignal.h @@ -72,7 +72,21 @@ extern "C" namespace PySide { namespace Signal { -PYSIDE_API bool checkType(PyObject *type); +/** + * This function checks for the PySideSignal type. + * + * @param pyObj + * @return whether pyObj is a PySideSignal + **/ +PYSIDE_API bool checkType(PyObject *pyObj); + +/** + * This function checks for the PySideSignalInstanceType type. + * + * @param pyObj + * @return Whether pyObj is a PySideSignalInstance + **/ +PYSIDE_API bool checkInstanceType(PyObject *pyObj); /** * Register all C++ signals of a QObject on Python type. |
