aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside
diff options
context:
space:
mode:
Diffstat (limited to 'libpyside')
-rw-r--r--libpyside/signalmanager.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 75a0d197f..2581d7181 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -324,8 +324,14 @@ static int PySide::callMethod(QObject* object, int id, void** args)
void* data = args[i+1];
const char* dataType = paramTypes[i].constData();
- PyObject* arg = Shiboken::TypeResolver::get(dataType)->toPython(data);
- PyTuple_SET_ITEM(preparedArgs, i, arg);
+ Shiboken::TypeResolver* tr = Shiboken::TypeResolver::get(dataType);
+ if (tr) {
+ PyObject* arg = tr->toPython(data);
+ PyTuple_SET_ITEM(preparedArgs, i, arg);
+ } else {
+ PyErr_Format(PyExc_TypeError, "Can't call meta function because I have no idea how to handle %s", dataType);
+ return -1;
+ }
}
QString methodName = method.signature();