summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2013-07-12 10:39:18 +0200
committerEike Ziller <eike.ziller@digia.com>2013-07-12 10:39:18 +0200
commit21f63c24c7d89ec2b7470cf054901a043e884b72 (patch)
tree520fb71c7f7574708a301fdbb67effac45bde06e /src/plugins/debugger/qml/qmlv8debuggerclient.cpp
parentb99de1de589a7ae0b4280d2cd8daff25d89f3408 (diff)
parenta699dc3c7181c5469b8ee06df5a9a2064a4ccc47 (diff)
downloadqt-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.cpp14
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;