diff options
Diffstat (limited to 'sources/pyside6/libpyside/pyside.cpp')
| -rw-r--r-- | sources/pyside6/libpyside/pyside.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp index 14b86f322..990b45694 100644 --- a/sources/pyside6/libpyside/pyside.cpp +++ b/sources/pyside6/libpyside/pyside.cpp @@ -656,6 +656,17 @@ bool registerInternalQtConf() return isRegistered; } +bool isQObjectDerived(PyTypeObject *pyType, bool raiseError) { + static PyTypeObject *qobjectType = Shiboken::Conversions::getPythonTypeObject("QObject*"); + + if (!PyType_IsSubtype(pyType, qobjectType)) { + if (raiseError) + PyErr_Format(PyExc_TypeError, "A type inherited from %s expected, got %s.", + qobjectType->tp_name, pyType->tp_name); + return false; + } + return true; +} } //namespace PySide |
