diff -r ef0373b55136 -r 758a864f9613 src/corelib/kernel/qmetaobject.cpp --- a/src/corelib/kernel/qmetaobject.cpp Fri Sep 17 08:34:18 2010 +0300 +++ b/src/corelib/kernel/qmetaobject.cpp Mon Oct 04 01:19:32 2010 +0300 @@ -1009,8 +1009,11 @@ int argdepth = 0; int templdepth = 0; while (*d) { - if (argdepth == 1) + if (argdepth == 1) { d = qNormalizeType(d, templdepth, result); + if (!*d) //most likely an invalid signature. + break; + } if (*d == '(') ++argdepth; if (*d == ')')