diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-07-12 10:39:18 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2013-07-12 10:39:18 +0200 |
commit | 21f63c24c7d89ec2b7470cf054901a043e884b72 (patch) | |
tree | 520fb71c7f7574708a301fdbb67effac45bde06e /src/plugins/debugger/qml/qmlv8debuggerclient.cpp | |
parent | b99de1de589a7ae0b4280d2cd8daff25d89f3408 (diff) | |
parent | a699dc3c7181c5469b8ee06df5a9a2064a4ccc47 (diff) | |
download | qt-creator-21f63c24c7d89ec2b7470cf054901a043e884b72.tar.gz |
Merge remote-tracking branch 'origin/2.8'
Conflicts:
qtcreator.pri
qtcreator.qbs
Change-Id: I1310d473584f1e2cd44008d45747c868103bbde1
Diffstat (limited to 'src/plugins/debugger/qml/qmlv8debuggerclient.cpp')
-rw-r--r-- | src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index d1260a98f7..02b10ea546 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -1770,11 +1770,19 @@ QmlJS::ConsoleItem *constructLogItemTree(QmlJS::ConsoleItem *parent, ConsoleItem *item = new ConsoleItem(parent, ConsoleItem::UndefinedType, text); + QSet<QString> childrenFetched; foreach (const QVariant &property, objectData.properties) { - ConsoleItem *child = constructLogItemTree(item, extractData(property, refsVal), - refsVal); - if (child) + const QmlV8ObjectData childObjectData = extractData(property, refsVal); + if (childObjectData.handle == objectData.handle) + continue; + ConsoleItem *child = constructLogItemTree(item, childObjectData, refsVal); + if (child) { + const QString text = child->text(); + if (childrenFetched.contains(text)) + continue; + childrenFetched.insert(text); item->insertChild(child, sorted); + } } return item; |