diff options
Diffstat (limited to 'libpyside')
-rw-r--r-- | libpyside/pysideslot.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libpyside/pysideslot.cpp b/libpyside/pysideslot.cpp index 28c6ed6a3..18c044bce 100644 --- a/libpyside/pysideslot.cpp +++ b/libpyside/pysideslot.cpp @@ -153,13 +153,15 @@ PyObject* slotCall(PyObject* self, PyObject* args, PyObject* kw) data->slotName = strdup(PyString_AS_STRING(funcName)); } - QString signature; - signature.sprintf("%s %s(%s)", data->resultType, data->slotName, data->args); + QByteArray returnType = QMetaObject::normalizedType(data->resultType); + QByteArray signature = QString().sprintf("%s(%s)", data->slotName, data->args).toAscii(); + signature = returnType + " " + signature; + if (!pySlotName) pySlotName = PyString_FromString(PYSIDE_SLOT_LIST_ATTR); - PyObject *pySignature = PyString_FromString(QMetaObject::normalizedSignature(signature.toAscii())); + PyObject *pySignature = PyString_FromString(signature); PyObject *signatureList = 0; if (PyObject_HasAttr(callback, pySlotName)) { signatureList = PyObject_GetAttr(callback, pySlotName); |