diff options
author | Aurindam Jana <aurindam.jana@digia.com> | 2013-07-10 15:48:49 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@digia.com> | 2013-07-11 10:54:17 +0200 |
commit | 9e8cd1eb1f3361f78efc5cc547efd72b35882348 (patch) | |
tree | 4703db52b7b932cada454603415b9bdb00356a99 /src/plugins/debugger/qml/qmlv8debuggerclient.cpp | |
parent | fd685138c78307e6925b597b949cb2936514302a (diff) | |
download | qt-creator-9e8cd1eb1f3361f78efc5cc547efd72b35882348.tar.gz |
QmlConsole: Check for duplicate children
When constructing the console item tree, check for
duplicate entries.
Change-Id: Ibc5aa150287ef5e2ee4b691a71bb170308a1fde7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
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; |