diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp index 03a60e030207bb83fb219d7dc94c7cd292be307c..c249a212c54dc5c8cbae2865731121807e61e4e3 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 71c911f0df68fdfa9b860de87d28eff4feeb1596..671e5b7c949fc13736c3b8b7cf8d55c6967474d0 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