From 362bde8e8eef41fc6a338ed8fbe6cbf7e9996019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Mon, 13 Feb 2012 16:26:35 +0100 Subject: Introduce QMetaType::UnknownType. QMetaType::Void was ambiguous, it was pointing to a valid type (void) and in the same time it was signaling errors in QMetaType. There was no clean way to check if returned type was valid void or some unregistered type. This feature will be used by new QMetaObject revision which will store type ids instead of type names. So it will be easy to distinguish between: void mySlot(); MyUnregisteredType mySlot(); Change-Id: I73ff097f75585a95e12df74d50c6f3141153e771 Reviewed-by: Kent Hansen Reviewed-by: Olivier Goffart --- src/testlib/qsignaldumper.cpp | 3 ++- src/testlib/qsignalspy.h | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/testlib') diff --git a/src/testlib/qsignaldumper.cpp b/src/testlib/qsignaldumper.cpp index e15add0c8d..c7b9f31b84 100644 --- a/src/testlib/qsignaldumper.cpp +++ b/src/testlib/qsignaldumper.cpp @@ -112,7 +112,8 @@ static void qSignalDumperCallback(QObject *caller, int method_index, void **argv quintptr addr = quintptr(*reinterpret_cast(argv[i + 1])); str.append(QByteArray::number(addr, 16)); - } else if (typeId != QMetaType::Void) { + } else if (typeId != QMetaType::UnknownType) { + Q_ASSERT(typeId != QMetaType::Void); // void parameter => metaobject is corrupt str.append(arg) .append('(') .append(QVariant(typeId, argv[i + 1]).toString().toLocal8Bit()) diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index eb52ebf706..70944baadf 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -122,9 +122,11 @@ private: QList params = member.parameterTypes(); for (int i = 0; i < params.count(); ++i) { int tp = QMetaType::type(params.at(i).constData()); - if (tp == QMetaType::Void) + if (tp == QMetaType::UnknownType) { + Q_ASSERT(tp != QMetaType::Void); // void parameter => metaobject is corrupt qWarning("Don't know how to handle '%s', use qRegisterMetaType to register it.", params.at(i).constData()); + } args << tp; } } -- cgit v1.2.3