From c4b7c7b097a68ef77e8d1de4983fc7f50f0efc49 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 8 Apr 2025 14:44:46 +0200 Subject: [PATCH] QMetaObject: save a strlen() in typeFromTypeInfo() QMetaType::fromName() takes a QBAV, so don't feed it rawStringData() (a const char*, causing the QBAV ctor to run strlen() on it), but stringDataView() (a QBAV already, whose length is determined by offset difference in the string offset table and not by strlen()). No measurable difference in runtime speed. Pick-to: 6.8 6.5 Change-Id: I583bea9d818deeaac6f62803f7ac5ab4766cb8a5 Reviewed-by: Fabian Kosmale Reviewed-by: Thiago Macieira (cherry picked from commit 1445a33b6fd4c7a401edf68e325e4527e18a667a) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/kernel/qmetaobject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 969e335a212..9dd9c7eee43 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -165,7 +165,7 @@ static inline int typeFromTypeInfo(const QMetaObject *mo, uint typeInfo) { if (!(typeInfo & IsUnresolvedType)) return typeInfo; - return QMetaType::fromName(rawStringData(mo, typeInfo & TypeNameIndexMask)).id(); + return QMetaType::fromName(stringDataView(mo, typeInfo & TypeNameIndexMask)).id(); } static auto parse_scope(QByteArrayView qualifiedKey) noexcept