aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside
diff options
context:
space:
mode:
Diffstat (limited to 'libpyside')
-rw-r--r--libpyside/signalmanager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 8a43ac491..8765136d3 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -358,6 +358,10 @@ static int PySide::callMethod(QObject* object, int id, void** args)
if (retval.isNull()) {
qWarning() << "Error calling slot" << methodName;
PyErr_Print();
+ } else {
+ const char* returnType = method.typeName();
+ if (returnType && (strlen(returnType) > 0))
+ Shiboken::TypeResolver::get(returnType)->toCpp(retval, &args[0]);
}
} else {
qWarning() << "Dynamic slot" << methodName << "not found!";