aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-01-28 19:19:38 -0200
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:53:51 -0300
commitc4ba32827072011e5d7ebea77098339c032f3d5a (patch)
tree675fc731aaa387a2d1ff8176ff656cbbc844fa21 /libpyside
parent10b81cd4368535b26d7c2bdc61c84d0cac64348a (diff)
Don't crash if a typeId was not found when emiting a signal.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Lauro Moura <lauro.neto@openbossa.org>
Diffstat (limited to 'libpyside')
-rw-r--r--libpyside/signalmanager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 04ddb8e6b..7d5b5fc78 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -201,8 +201,8 @@ static bool emitNormalSignal(QObject* source, int signalIndex, const char* signa
for (i = 0; i < argsGiven; ++i) {
QByteArray typeName = argTypes[i].toAscii();
Shiboken::TypeResolver* typeResolver = Shiboken::TypeResolver::get(typeName);
- if (typeResolver) {
- int typeId = QMetaType::type(typeName);
+ int typeId = QMetaType::type(typeName);
+ if (typeResolver && typeId) {
if (Shiboken::TypeResolver::getType(typeName) == Shiboken::TypeResolver::ValueType)
signalValues[i] = QVariant(typeId, (void*) 0);
signalArgs[i+1] = signalValues[i].data();