From b21b8a7acc3150c54de56ee504bc93533c9299ed Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Thu, 23 Sep 2010 18:17:50 +0200 Subject: [PATCH] QmlDesigner.NodeInstances: implement doComponentComplete() We have to call classBegin() on creation. --- .../qmldesigner/designercore/instances/nodeinstance.cpp | 2 +- .../designercore/instances/qmlgraphicsitemnodeinstance.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp index 03a60e03020..c249a212c54 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp @@ -646,7 +646,7 @@ void NodeInstance::registerDeclarativeTypes() void NodeInstance::doComponentComplete() { - + m_nodeInstance->doComponentComplete(); } QString NodeInstance::id() const diff --git a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp index 71c911f0df6..671e5b7c949 100644 --- a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp @@ -80,6 +80,8 @@ QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(const N Pointer instance(new QmlGraphicsItemNodeInstance(qmlGraphicsItem, objectPair.second)); + static_cast<QDeclarativeParserStatus*>(qmlGraphicsItem)->classBegin(); + if (objectToBeWrapped) instance->setDeleteHeldInstance(false); // the object isn't owned @@ -288,8 +290,11 @@ void QmlGraphicsItemNodeInstance::resetVertical() void QmlGraphicsItemNodeInstance::doComponentComplete() { - if (qmlGraphicsItem()) + if (qmlGraphicsItem()) { + if (static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(qmlGraphicsItem()))->componentComplete) + return; static_cast<QDeclarativeParserStatus*>(qmlGraphicsItem())->componentComplete(); + } } int QmlGraphicsItemNodeInstance::penWidth() const -- GitLab