summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
diff options
context:
space:
mode:
authorAurindam Jana <aurindam.jana@digia.com>2013-07-10 15:48:49 +0200
committerKai Koehne <kai.koehne@digia.com>2013-07-11 10:54:17 +0200
commit9e8cd1eb1f3361f78efc5cc547efd72b35882348 (patch)
tree4703db52b7b932cada454603415b9bdb00356a99 /src/plugins/debugger/qml/qmlv8debuggerclient.cpp
parentfd685138c78307e6925b597b949cb2936514302a (diff)
downloadqt-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.cpp8
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;