forked from qt-creator/qt-creator
QmlConsole: Fix infinite recursion bug
The queried v8 object sometimes returns a child item that refers to itself triggering an infinite recursion. Task-number: QTCREATORBUG-9747 Change-Id: I30dfbb834ebeb39c33a6050d4b4860b1b47f34d9 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
committed by
Kai Koehne
parent
415c4c7765
commit
fd685138c7
@@ -1771,8 +1771,10 @@ QmlJS::ConsoleItem *constructLogItemTree(QmlJS::ConsoleItem *parent,
|
||||
ConsoleItem *item = new ConsoleItem(parent, ConsoleItem::UndefinedType, text);
|
||||
|
||||
foreach (const QVariant &property, objectData.properties) {
|
||||
ConsoleItem *child = constructLogItemTree(item, extractData(property, refsVal),
|
||||
refsVal);
|
||||
const QmlV8ObjectData childObjectData = extractData(property, refsVal);
|
||||
if (childObjectData.handle == objectData.handle)
|
||||
continue;
|
||||
ConsoleItem *child = constructLogItemTree(item, childObjectData, refsVal);
|
||||
if (child)
|
||||
item->insertChild(child, sorted);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user