diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2012-11-06 10:02:23 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2012-11-21 15:59:52 +0100 |
commit | 960801b52cf4eece1d89ce02d2a40f2a82b6667d (patch) | |
tree | 22386d5e39471e7a229aa1b5b23221c5396b9dbf | |
parent | bd67bd8d638e41fe8db67c40a8c54af1dc3defeb (diff) | |
download | qt-creator-960801b52cf4eece1d89ce02d2a40f2a82b6667d.tar.gz |
QmlDesigner.instances: fix for QmlPropertyCache
Setting the original parent to preserve data constructed from
the VME.
Change-Id: Ib3c31e129e2f25affee37c97f725c6bfe3fb0286
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
-rw-r--r-- | share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp index d655d9f2e2..ce1297ea97 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp @@ -177,8 +177,11 @@ NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer //Assign cache to object if (ddata && ddata->propertyCache) { + cache->setParent(ddata->propertyCache); + cache->invalidate(engine, this); ddata->propertyCache = m_cache; } + } NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QQmlEngine *engine) @@ -210,7 +213,9 @@ void NodeInstanceMetaObject::createNewProperty(const QString &name) //Updating cache + QQmlPropertyCache *oldParent = m_cache->parent(); QQmlEnginePrivate::get(m_context->engine())->cache(this)->invalidate(m_context->engine(), this); + m_cache->setParent(oldParent); QQmlProperty property(myObject(), name, m_context); Q_ASSERT(property.isValid()); |