diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-01-17 12:16:07 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-20 11:49:42 +0100 |
commit | 65a02ef32f7131f5e0b87dd18b4f81486d507ae3 (patch) | |
tree | 07bcb66e6f18641991e5f8532a5e5503780bdfee /src/qml/qml/qqmlobjectcreator_p.h | |
parent | 3a9e7f056f487c9740621750067781d33a7c9f34 (diff) |
[new compiler] Fix refcounting leaks with property caches
The TypeReference is not copy-safe, as it holds refcounted property cache
pointers. For the new compiler code path, don't copy them but keep pointers to
TypeReference objects around. Also make sure to ref the root property cache
correctly and avoid the unnecessary addref for the property cache when creating
new vme meta objects (initial refcount is 1).
Change-Id: I0c4b952c8300c2167d926d9c35b8579fd505d596
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlobjectcreator_p.h')
-rw-r--r-- | src/qml/qml/qqmlobjectcreator_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlobjectcreator_p.h b/src/qml/qml/qqmlobjectcreator_p.h index a198396467..951c3a2eed 100644 --- a/src/qml/qml/qqmlobjectcreator_p.h +++ b/src/qml/qml/qqmlobjectcreator_p.h @@ -86,7 +86,7 @@ private: const QV4::CompiledData::CompilationUnit *jsUnit; QQmlContextData *parentContext; QQmlContextData *context; - const QHash<int, QQmlCompiledData::TypeReference> resolvedTypes; + const QHash<int, QQmlCompiledData::TypeReference*> resolvedTypes; const QVector<QQmlPropertyCache *> propertyCaches; const QVector<QByteArray> vmeMetaObjectData; QHash<int, int> objectIndexToId; |