diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2016-06-14 15:44:09 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2016-06-16 18:00:35 +0000 |
commit | 0058ac5f28c64979f359972e03ee91ae146b0cd3 (patch) | |
tree | b9063a18a2182668424ce22e5a3cd95f4e1e2b15 /src/qml/compiler/qv4compileddata_p.h | |
parent | c2c13cacd450d866e60c58c87ff1ab16ae736804 (diff) |
Clean up property cache array handling
The QQmlPropertyCacheVector in the CompilationUnit encapsulates the
property caches for the objects declared in the QML tree as well as the
bits indicating whether a VME meta-object is needed. The ref-counting
for the caches in that vector was done "manually" and thus error prone.
This patch replaces the vector with a wrapper container that has
explicit move semantics and takes care of the addref() and release()
calls upon insertion, replacement and destruction.
Change-Id: If805fe016f1a1c70e56f8a90909ab87b653ea026
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4compileddata_p.h')
-rw-r--r-- | src/qml/compiler/qv4compileddata_p.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h index 760f6b6737..b24d93d995 100644 --- a/src/qml/compiler/qv4compileddata_p.h +++ b/src/qml/compiler/qv4compileddata_p.h @@ -76,10 +76,6 @@ class QQmlScriptData; class QQmlType; class QQmlEngine; -// The vector is indexed by QV4::CompiledData::Object index and the flag -// indicates whether instantiation of the object requires a VME meta-object. -typedef QVector<QFlagPointer<QQmlPropertyCache>> QQmlPropertyCacheVector; - namespace QmlIR { struct Document; } @@ -706,8 +702,7 @@ struct Q_QML_PRIVATE_EXPORT CompilationUnit : public QQmlRefCount // QML specific fields QQmlPropertyCacheVector propertyCaches; - QQmlPropertyCache *rootPropertyCache() const { return propertyCaches.at(data->indexOfRootObject).data(); } - bool isCompositeType() const { return propertyCaches.at(data->indexOfRootObject).flag(); } + QQmlPropertyCache *rootPropertyCache() const { return propertyCaches.at(data->indexOfRootObject); } QQmlRefPointer<QQmlTypeNameCache> importCache; |