diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-03-04 14:56:36 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-03-09 12:40:06 +0100 |
commit | a2184b9ab7469bc5ca36478394243a04cda9006c (patch) | |
tree | 7b454b7387b6f390433858af5fcca82ed470c6e4 /src/qml/qml/qqmlpropertycache_p.h | |
parent | 579013497bb23b2014e2c940c3d2d1dd10847e07 (diff) |
QQmlPropertyCache: Store checksums in type loader
The type loader is specific to the engine. This way we can
calculate/retrieve the checksum without modifying the property cache,
which makes checksum() threadsafe. The checksums are only needed for
loading and storing compilation units from/to disk. Therefore, there is
no point in keeping them inside the property caches anyway.
Pick-to: 6.3
Task-number: QTBUG-73271
Change-Id: I7bea65e73769f76352bb5947d7229e256e7f2f25
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlpropertycache_p.h')
-rw-r--r-- | src/qml/qml/qqmlpropertycache_p.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlpropertycache_p.h b/src/qml/qml/qqmlpropertycache_p.h index 68830ba716..4c10de7823 100644 --- a/src/qml/qml/qqmlpropertycache_p.h +++ b/src/qml/qml/qqmlpropertycache_p.h @@ -247,7 +247,7 @@ public: static bool determineMetaObjectSizes(const QMetaObject &mo, int *fieldCount, int *stringCount); static bool addToHash(QCryptographicHash &hash, const QMetaObject &mo); - QByteArray checksum(bool *ok); + QByteArray checksum(QHash<quintptr, QByteArray> *checksums, bool *ok) const; QTypeRevision allowedRevision(int index) const { return allowedRevisionCache[index]; } void setAllowedRevision(int index, QTypeRevision allowed) { allowedRevisionCache[index] = allowed; } @@ -333,7 +333,6 @@ private: QByteArray _listPropertyAssignBehavior; QString _defaultPropertyName; QQmlPropertyCacheMethodArguments *argumentsCache = nullptr; - QByteArray _checksum; int methodIndexCacheStart = 0; int signalHandlerIndexCacheStart = 0; int _jsFactoryMethodIndex = -1; |