summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/kernel/qmetaobject.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 5ffa2d81dd..09d6713a43 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -1151,18 +1151,19 @@ bool QMetaObject::invokeMethod(QObject *obj,
sig[sig.size() - 1] = ')';
sig.append('\0');
- int idx = obj->metaObject()->indexOfMethod(sig.constData());
+ const QMetaObject *meta = obj->metaObject();
+ int idx = meta->indexOfMethod(sig.constData());
if (idx < 0) {
QByteArray norm = QMetaObject::normalizedSignature(sig.constData());
- idx = obj->metaObject()->indexOfMethod(norm.constData());
+ idx = meta->indexOfMethod(norm.constData());
}
- if (idx < 0 || idx >= obj->metaObject()->methodCount()) {
+ if (idx < 0 || idx >= meta->methodCount()) {
qWarning("QMetaObject::invokeMethod: No such method %s::%s",
- obj->metaObject()->className(), sig.constData());
+ meta->className(), sig.constData());
return false;
}
- QMetaMethod method = obj->metaObject()->method(idx);
+ QMetaMethod method = meta->method(idx);
return method.invoke(obj, type, ret,
val0, val1, val2, val3, val4, val5, val6, val7, val8, val9);
}