diff --git a/src/qml/debugger/qqmlenginedebugservice.cpp b/src/qml/debugger/qqmlenginedebugservice.cpp index 4ae956a14f45fd0a858eecaa1ee37cfbff604a98..4938347b9b5b0ffb6d17aed030067392d3ce9ff1 100644 --- a/src/qml/debugger/qqmlenginedebugservice.cpp +++ b/src/qml/debugger/qqmlenginedebugservice.cpp @@ -67,7 +67,7 @@ QQmlEngineDebugService *QQmlEngineDebugService::instance() } QQmlEngineDebugService::QQmlEngineDebugService(QObject *parent) - : QQmlDebugService(QStringLiteral("QmlDebugger"), 1, parent), + : QQmlDebugService(QStringLiteral("QmlDebugger"), 2, parent), m_watch(new QQmlWatcher(this)), m_statesDelegate(0) { @@ -86,7 +86,8 @@ QDataStream &operator<<(QDataStream &ds, const QQmlEngineDebugService::QQmlObjectData &data) { ds << data.url << data.lineNumber << data.columnNumber << data.idString - << data.objectName << data.objectType << data.objectId << data.contextId; + << data.objectName << data.objectType << data.objectId << data.contextId + << data.parentId; return ds; } @@ -94,7 +95,8 @@ QDataStream &operator>>(QDataStream &ds, QQmlEngineDebugService::QQmlObjectData &data) { ds >> data.url >> data.lineNumber >> data.columnNumber >> data.idString - >> data.objectName >> data.objectType >> data.objectId >> data.contextId; + >> data.objectName >> data.objectType >> data.objectId >> data.contextId + >> data.parentId; return ds; } @@ -378,7 +380,7 @@ QQmlEngineDebugService::objectData(QObject *object) rv.objectName = object->objectName(); rv.objectId = QQmlDebugService::idForObject(object); rv.contextId = QQmlDebugService::idForObject(qmlContext(object)); - + rv.parentId = QQmlDebugService::idForObject(object->parent()); QQmlType *type = QQmlMetaType::qmlType(object->metaObject()); if (type) { QString typeName = type->qmlTypeName(); diff --git a/src/qml/debugger/qqmlenginedebugservice_p.h b/src/qml/debugger/qqmlenginedebugservice_p.h index 19a5776e27d375e487dd3ab3c89cef980ea9c853..3b855cb602917ebfb60ee48f7d3f828177461e85 100644 --- a/src/qml/debugger/qqmlenginedebugservice_p.h +++ b/src/qml/debugger/qqmlenginedebugservice_p.h @@ -83,6 +83,7 @@ public: QString objectType; int objectId; int contextId; + int parentId; }; struct QQmlObjectProperty { diff --git a/tests/auto/qml/debugger/qqmlenginedebugservice/qqmlenginedebugclient.cpp b/tests/auto/qml/debugger/qqmlenginedebugservice/qqmlenginedebugclient.cpp index 9639a36065117c084cfc65cc7c7021691f106220..0c5dfddffa09cd97205578806cfd7dfbd4fd960e 100644 --- a/tests/auto/qml/debugger/qqmlenginedebugservice/qqmlenginedebugclient.cpp +++ b/tests/auto/qml/debugger/qqmlenginedebugservice/qqmlenginedebugclient.cpp @@ -50,12 +50,14 @@ struct QmlObjectData { QString objectType; int objectId; int contextId; + int parentId; }; QDataStream &operator>>(QDataStream &ds, QmlObjectData &data) { ds >> data.url >> data.lineNumber >> data.columnNumber >> data.idString - >> data.objectName >> data.objectType >> data.objectId >> data.contextId; + >> data.objectName >> data.objectType >> data.objectId >> data.contextId + >> data.parentId; return ds; }