diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstance.h b/src/plugins/qmldesigner/designercore/include/nodeinstance.h index 7ccf54cfb8b..df3d38494f2 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstance.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstance.h @@ -141,6 +141,8 @@ public: static void registerDeclarativeTypes(); + QString id() const; + #ifdef QTCREATOR_TEST QObject* testHandle() const; Internal::ObjectNodeInstance* internalInstance() const; diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp index 7d88a726010..88c1306f12f 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp @@ -644,6 +644,11 @@ void NodeInstance::registerDeclarativeTypes() // qmlRegisterType(); } +QString NodeInstance::id() const +{ + return m_nodeInstance->id(); +} + #ifdef QTCREATOR_TEST QObject* NodeInstance::testHandle() const { diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index c7dd9275144..d83cd9711ae 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -699,8 +699,8 @@ void NodeInstanceView::removeIdFromContext(QObject *object) { if (hasInstanceForObject(object)) { NodeInstance instance = instanceForObject(object); - if (instance.internalInstance()) { - QString id = instance.internalInstance()->id(); + if (instance.isValid()) { + QString id = instance.id(); if (!id.isEmpty()) engine()->rootContext()->setContextProperty(id, 0); }