diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-05-23 23:04:52 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-24 14:26:25 +0200 |
commit | 98105aac87a4cab12118cfbda77f0907c6d8f86c (patch) | |
tree | 251ff0347580b1a5118512d381e5177bb25e3ae5 /src/qml/qml/qqmlpropertycache.cpp | |
parent | d2e557c2c2d7fcf3bf7c1676df3902e115986dc2 (diff) |
Simplify method name extraction in property cache
All of Qt is now generating r7 meta-objects, so the compat support
can be removed.
Change-Id: Ib8e697b86a0ae8a68209fe661a8043505838f631
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlpropertycache.cpp')
-rw-r--r-- | src/qml/qml/qqmlpropertycache.cpp | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/qml/qml/qqmlpropertycache.cpp b/src/qml/qml/qqmlpropertycache.cpp index 86c0d715af..8167280142 100644 --- a/src/qml/qml/qqmlpropertycache.cpp +++ b/src/qml/qml/qqmlpropertycache.cpp @@ -658,18 +658,12 @@ void QQmlPropertyCache::append(QQmlEngine *engine, const QMetaObject *metaObject continue; // Extract method name - const char *signature; - if (QMetaObjectPrivate::get(metaObject)->revision >= 7) { - // Safe to use the raw name pointer - signature = m.name().constData(); - } else { - // Safe to use the raw signature pointer - signature = m.methodSignature().constData(); - } - const char *cptr = signature; + // It's safe to keep the raw name pointer + Q_ASSERT(QMetaObjectPrivate::get(metaObject)->revision >= 7); + const char *rawName = m.name().constData(); + const char *cptr = rawName; char utf8 = 0; - while (*cptr && *cptr != '(') { - Q_ASSERT(*cptr != 0); + while (*cptr) { utf8 |= *cptr & 0x80; ++cptr; } @@ -699,7 +693,7 @@ void QQmlPropertyCache::append(QQmlEngine *engine, const QMetaObject *metaObject QQmlPropertyData *old = 0; if (utf8) { - QHashedString methodName(QString::fromUtf8(signature, cptr - signature)); + QHashedString methodName(QString::fromUtf8(rawName, cptr - rawName)); if (QQmlPropertyData **it = stringCache.value(methodName)) old = *it; stringCache.insert(methodName, data); @@ -710,7 +704,7 @@ void QQmlPropertyCache::append(QQmlEngine *engine, const QMetaObject *metaObject ++signalHandlerIndex; } } else { - QHashedCStringRef methodName(signature, cptr - signature); + QHashedCStringRef methodName(rawName, cptr - rawName); if (QQmlPropertyData **it = stringCache.value(methodName)) old = *it; stringCache.insert(methodName, data); @@ -721,9 +715,9 @@ void QQmlPropertyCache::append(QQmlEngine *engine, const QMetaObject *metaObject QVarLengthArray<char, 128> str(length+3); str[0] = 'o'; str[1] = 'n'; - str[2] = toupper(signature[0]); + str[2] = toupper(rawName[0]); if (length > 1) - memcpy(&str[3], &signature[1], length - 1); + memcpy(&str[3], &rawName[1], length - 1); str[length + 2] = '\0'; QHashedString on(QString::fromLatin1(str.data())); |