summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrenatofilho <renato.filho@openbossa.org>2010-11-03 14:21:11 -0300
committerrenatofilho <renato.filho@openbossa.org>2010-11-03 17:49:27 -0300
commit50f915572de1f6f492f80b2cfc8c8fedd9cdae6f (patch)
tree12f735328e83dbf2c67589613b41145d390c5743
parent60f46e4ea698f03bb6bace050ed3b88eb5d04ac3 (diff)
downloadpyside-50f915572de1f6f492f80b2cfc8c8fedd9cdae6f.tar.gz
pyside-50f915572de1f6f492f80b2cfc8c8fedd9cdae6f.tar.xz
pyside-50f915572de1f6f492f80b2cfc8c8fedd9cdae6f.zip
Fill the argument used on metacall for slot functions.
Fixes bug #456. Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Lauro Neto <lauro.neto@openbossa.org>
-rw-r--r--libpyside/signalmanager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 8a43ac4..8765136 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!";