forked from qt-creator/qt-creator
QmlDebugger: Allow functions and scripts to be specified as strings
For some of those it doesn't make much sense to assign a ref and the refs are not stable anyway. Change-Id: I7b6855225f883b93930b8d501495ef9dd62be7a2 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -2144,19 +2144,16 @@ StackFrame QmlEnginePrivate::extractStackFrame(const QVariant &bodyVal)
|
||||
return stackFrame;
|
||||
}
|
||||
|
||||
QmlV8ObjectData objectData = extractData(body.value("func"));
|
||||
QString functionName = objectData.value.toString();
|
||||
if (functionName.isEmpty())
|
||||
functionName = QCoreApplication::translate("QmlEngine", "Anonymous Function");
|
||||
stackFrame.function = functionName;
|
||||
auto extractString = [this](const QVariant &item) {
|
||||
return ((item.type() == QVariant::String) ? item : extractData(item).value).toString();
|
||||
};
|
||||
|
||||
objectData = extractData(body.value("script"));
|
||||
stackFrame.file = engine->toFileInProject(objectData.value.toString());
|
||||
stackFrame.function = extractString(body.value("func"));
|
||||
if (stackFrame.function.isEmpty())
|
||||
stackFrame.function = QCoreApplication::translate("QmlEngine", "Anonymous Function");
|
||||
stackFrame.file = engine->toFileInProject(extractString(body.value("script")));
|
||||
stackFrame.usable = QFileInfo(stackFrame.file).isReadable();
|
||||
|
||||
objectData = extractData(body.value("receiver"));
|
||||
stackFrame.receiver = objectData.value.toString();
|
||||
|
||||
stackFrame.receiver = extractString(body.value("receiver"));
|
||||
stackFrame.line = body.value("line").toInt() + 1;
|
||||
|
||||
return stackFrame;
|
||||
|
||||
Reference in New Issue
Block a user