summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
-rw-r--r--src/corelib/kernel/qmetaobject.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 83f670d9a50..e2e3c9b8083 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -646,10 +646,11 @@ bool QMetaObjectPrivate::methodMatch(const QMetaObject *m, const QMetaMethod &me
int paramsIndex = data.parameters() + 1;
for (int i = 0; i < argc; ++i) {
uint typeInfo = m->d.data[paramsIndex + i];
- if (int id = types[i].type()) {
- if (id == QMetaType(ifaces[i]).id())
+ QMetaType mt = types[i].metaType();
+ if (mt.isValid()) {
+ if (mt == QMetaType(ifaces[i]))
continue;
- if (id != typeFromTypeInfo(m, typeInfo))
+ if (mt.id() != typeFromTypeInfo(m, typeInfo))
return false;
} else {
if (types[i].name() == QMetaType(ifaces[i]).name())
@@ -3994,7 +3995,7 @@ int QMetaProperty::notifySignalIndex() const
if (idx >= 0)
return idx + m->methodOffset();
// try 1-arg signal
- QArgumentType argType(typeId());
+ QArgumentType argType(metaType());
idx = QMetaObjectPrivate::indexOfMethodRelative<MethodSignal>(&m, signalName, 1, &argType);
if (idx >= 0)
return idx + m->methodOffset();