forked from qt-creator/qt-creator
QML Debugger: Don't hang if there are no scopes to be retrieved
Qt 5.11.0 contains an optimization that does away with call contexts for simple inline bindings. Also, it doesn't report QML contexts as scopes in the "frame" and "backtrace" commands. Therefore, in those cases "this" is the only thing to be retrieved. Check if we are done when "this" has been retrieved and no scopes have been found. Change-Id: I9e0f545777bc38333938b65a934d42701ec4f807 Task-number: QTBUG-68218 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -2167,6 +2167,10 @@ void QmlEnginePrivate::handleFrame(const QVariantMap &response)
|
||||
watchHandler->insertItem(item);
|
||||
evaluate(exp, -1, [this, iname, exp](const QVariantMap &response) {
|
||||
handleEvaluateExpression(response, iname, exp);
|
||||
|
||||
// If there are no scopes, "this" may be the only thing to look up.
|
||||
if (currentFrameScopes.isEmpty())
|
||||
checkForFinishedUpdate();
|
||||
});
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user