forked from qt-creator/qt-creator
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>
This commit is contained in:
committed by
Kai Koehne
parent
fd685138c7
commit
9e8cd1eb1f
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user