aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-08-29 11:28:40 +0200
committerUlf Hermann <ulf.hermann@qt.io>2023-08-30 14:18:17 +0200
commite86a91dfd5535ce548618270343a2521fb0ef4c6 (patch)
treebf9cdd47eb0037b9c7a852f22987bc356387c4d7 /src
parent4cdf0643b442a57b0cf0dcef104e71c0196dba06 (diff)
QtQml: Store singleton typename as UTF-8 QByteArray
We rarely want to read it as QString, and we almost always set it from UTF-8 data. Change-Id: I389e9a6de140d8adc09ccc3350685b2d47e03eb8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/qml/qml/qqml.cpp4
-rw-r--r--src/qml/qml/qqmlmetatype.cpp2
-rw-r--r--src/qml/qml/qqmltype.cpp2
-rw-r--r--src/qml/qml/qqmltype_p.h2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/qml/qqml.cpp b/src/qml/qml/qqml.cpp
index 3b855e10e7..d96a4d7d97 100644
--- a/src/qml/qml/qqml.cpp
+++ b/src/qml/qml/qqml.cpp
@@ -483,7 +483,7 @@ static QQmlType::SingletonInstanceInfo::ConstPtr singletonInstanceInfo(
QQmlType::SingletonInstanceInfo::Ptr siinfo = QQmlType::SingletonInstanceInfo::create();
siinfo->scriptCallback = type.scriptApi;
siinfo->qobjectCallback = type.qObjectApi;
- siinfo->typeName = QString::fromUtf8(type.typeName);
+ siinfo->typeName = type.typeName;
return QQmlType::SingletonInstanceInfo::ConstPtr(
siinfo.take(), QQmlType::SingletonInstanceInfo::ConstPtr::Adopt);
}
@@ -493,7 +493,7 @@ static QQmlType::SingletonInstanceInfo::ConstPtr singletonInstanceInfo(
{
QQmlType::SingletonInstanceInfo::Ptr siinfo = QQmlType::SingletonInstanceInfo::create();
siinfo->url = QQmlTypeLoader::normalize(type.url);
- siinfo->typeName = QString::fromUtf8(type.typeName);
+ siinfo->typeName = type.typeName;
return QQmlType::SingletonInstanceInfo::ConstPtr(
siinfo.take(), QQmlType::SingletonInstanceInfo::ConstPtr::Adopt);
}
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 5ff947b0c3..abd07611fb 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -631,7 +631,7 @@ static QQmlType createTypeForUrl(
if (mode == QQmlMetaType::Singleton) {
QQmlType::SingletonInstanceInfo::Ptr siinfo = QQmlType::SingletonInstanceInfo::create();
siinfo->url = url;
- siinfo->typeName = typeName;
+ siinfo->typeName = typeName.toUtf8();
priv->extraData.singletonTypeData->singletonInstanceInfo =
QQmlType::SingletonInstanceInfo::ConstPtr(
siinfo.take(), QQmlType::SingletonInstanceInfo::ConstPtr::Adopt);
diff --git a/src/qml/qml/qqmltype.cpp b/src/qml/qml/qqmltype.cpp
index e0500c3e3e..eca9fb3913 100644
--- a/src/qml/qml/qqmltype.cpp
+++ b/src/qml/qml/qqmltype.cpp
@@ -432,7 +432,7 @@ QByteArray QQmlType::typeName() const
{
if (d) {
if (d->regType == SingletonType || d->regType == CompositeSingletonType)
- return d->extraData.singletonTypeData->singletonInstanceInfo->typeName.toUtf8();
+ return d->extraData.singletonTypeData->singletonInstanceInfo->typeName;
else if (d->baseMetaObject)
return d->baseMetaObject->className();
}
diff --git a/src/qml/qml/qqmltype_p.h b/src/qml/qml/qqmltype_p.h
index 03a9f5751e..fcb8a8f29b 100644
--- a/src/qml/qml/qqmltype_p.h
+++ b/src/qml/qml/qqmltype_p.h
@@ -129,7 +129,7 @@ public:
std::function<QJSValue(QQmlEngine *, QJSEngine *)> scriptCallback = {};
std::function<QObject *(QQmlEngine *, QJSEngine *)> qobjectCallback = {};
- QString typeName;
+ QByteArray typeName;
QUrl url; // used by composite singletons
private: