diff --git a/src/plugins/qmljsinspector/qmljsclientproxy.cpp b/src/plugins/qmljsinspector/qmljsclientproxy.cpp index 303e1cab3c4..93c8eb60a26 100644 --- a/src/plugins/qmljsinspector/qmljsclientproxy.cpp +++ b/src/plugins/qmljsinspector/qmljsclientproxy.cpp @@ -145,6 +145,14 @@ void ClientProxy::onCurrentObjectsChanged(const QList &debugIds, bool reque emit selectedItemsChanged(selectedItems); } +void ClientProxy::setSelectedItemsByDebugId(const QList &debugIds) +{ + if (!isConnected()) + return; + + m_observerClient->setCurrentObjects(debugIds); +} + void ClientProxy::setSelectedItemsByObjectId(const QList &objectRefs) { if (isConnected()) { diff --git a/src/plugins/qmljsinspector/qmljsclientproxy.h b/src/plugins/qmljsinspector/qmljsclientproxy.h index c88b8f5d351..e07483365ec 100644 --- a/src/plugins/qmljsinspector/qmljsclientproxy.h +++ b/src/plugins/qmljsinspector/qmljsclientproxy.h @@ -85,6 +85,7 @@ public: bool isConnected() const; + void setSelectedItemsByDebugId(const QList &debugIds); void setSelectedItemsByObjectId(const QList &objectRefs); QList engines() const; diff --git a/src/plugins/qmljsinspector/qmljsinspector.cpp b/src/plugins/qmljsinspector/qmljsinspector.cpp index 1b68e961cfb..febc1cf72fe 100644 --- a/src/plugins/qmljsinspector/qmljsinspector.cpp +++ b/src/plugins/qmljsinspector/qmljsinspector.cpp @@ -543,7 +543,6 @@ void InspectorUi::selectItems(const QList &obj m_propertyInspector->setCurrentObjects(selectionList); populateCrumblePath(objref); gotoObjectReferenceDefinition(objref); - m_clientProxy->setSelectedItemsByObjectId(selectionList); return; } } @@ -762,8 +761,14 @@ void InspectorUi::setupDockWidgets() void InspectorUi::crumblePathElementClicked(int debugId) { - if (debugId != -1) - selectItems(QList() << debugId); + if (debugId == -1) + return; + + QList debugIds; + debugIds << debugId; + + selectItems(debugIds); + m_clientProxy->setSelectedItemsByDebugId(debugIds); } bool InspectorUi::showExperimentalWarning()