diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-01-28 19:19:38 -0200 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:53:51 -0300 |
commit | c4ba32827072011e5d7ebea77098339c032f3d5a (patch) | |
tree | 675fc731aaa387a2d1ff8176ff656cbbc844fa21 | |
parent | 10b81cd4368535b26d7c2bdc61c84d0cac64348a (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>
-rw-r--r-- | libpyside/signalmanager.cpp | 4 |
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(); |