aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/pysidesignal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/libpyside/pysidesignal.cpp')
-rw-r--r--sources/pyside6/libpyside/pysidesignal.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index 85e976789..a30ea35f8 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -823,8 +823,6 @@ QByteArray getTypeName(PyObject *obType)
return QByteArrayLiteral("QString");
if (type == &PyLong_Type)
return QByteArrayLiteral("int");
- if (type == &PyLong_Type)
- return QByteArrayLiteral("long");
if (type == &PyFloat_Type)
return QByteArrayLiteral("double");
if (type == &PyBool_Type)
@@ -902,6 +900,15 @@ static void instanceInitialize(PySideSignalInstance *self, PyObject *name, PySid
PySideSignalInstance *initialize(PySideSignal *self, PyObject *name, PyObject *object)
{
+ static PyTypeObject *pyQObjectType = Shiboken::Conversions::getPythonTypeObject("QObject*");
+ assert(pyQObjectType);
+
+ if (!PyObject_TypeCheck(object, pyQObjectType)) {
+ PyErr_Format(PyExc_TypeError, "%s cannot be converted to %s",
+ Py_TYPE(object)->tp_name, pyQObjectType->tp_name);
+ return nullptr;
+ }
+
PySideSignalInstance *instance = PyObject_New(PySideSignalInstance,
PySideSignalInstanceTypeF());
instanceInitialize(instance, name, self, object, 0);