diff options
Diffstat (limited to 'src/plugins/debugger/qml/qmlv8debuggerclient.cpp')
-rw-r--r-- | src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index fcfa8ddbca..83e5d9964c 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -1770,13 +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) { const QmlV8ObjectData childObjectData = extractData(property, refsVal); if (childObjectData.handle == objectData.handle) continue; ConsoleItem *child = constructLogItemTree(item, childObjectData, refsVal); - if (child) + if (child) { + const QString text = child->text(); + if (childrenFetched.contains(text)) + continue; + childrenFetched.insert(text); item->insertChild(child, sorted); + } } return item; |