diff --git a/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp b/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp index f5b5ab48d2ea4ab5ea8de3919a5c71e86bc44a53..eaf255ef83357a8368bcee2b3cfecf8bfe96da11 100644 --- a/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp +++ b/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp @@ -152,10 +152,12 @@ void ObjectNodeInstance::setNodeInstance(NodeInstanceView *view) void ObjectNodeInstance::setId(const QString &id) { + if (!object()->objectName().isEmpty()) { + context()->engine()->rootContext()->setContextProperty(object()->objectName(), 0); + } + if (!id.isEmpty()) { context()->engine()->rootContext()->setContextProperty(id, object()); // will also force refresh of all bindings - } else if (!object()->objectName().isEmpty()) { - context()->engine()->rootContext()->setContextProperty(object()->objectName(), 0); } object()->setObjectName(id);