diff options
author | renatofilho <renato.filho@openbossa.org> | 2010-11-03 14:21:11 -0300 |
---|---|---|
committer | renatofilho <renato.filho@openbossa.org> | 2010-11-03 17:49:27 -0300 |
commit | 50f915572de1f6f492f80b2cfc8c8fedd9cdae6f (patch) | |
tree | 12f735328e83dbf2c67589613b41145d390c5743 /libpyside | |
parent | 60f46e4ea698f03bb6bace050ed3b88eb5d04ac3 (diff) |
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>
Diffstat (limited to 'libpyside')
-rw-r--r-- | libpyside/signalmanager.cpp | 4 |
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!"; |