summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
diff options
context:
space:
mode:
authorAurindam Jana <aurindam.jana@nokia.com>2011-11-07 14:58:45 +0100
committerAurindam Jana <aurindam.jana@nokia.com>2011-11-08 14:47:05 +0100
commit727dd1b167ffd49effa75d4640385f9b4f6b4d74 (patch)
treee32e0b669fc67f93be8647c7261c9ea50979970f /src/plugins/debugger/qml/qmlv8debuggerclient.cpp
parentbd0b030cb03be3bd771528877a7c3d71029be737 (diff)
downloadqt-creator-727dd1b167ffd49effa75d4640385f9b4f6b4d74.tar.gz
QmlV8DebuggerClient: Evaluate Expression
V8 engine may return an anonymous event for Evaluation of an expression instead of a response, if the expression has syntax error. This fix handles this particular case. Change-Id: Ic89252b04eb4d6f7e6b0b2e03067f031f1f446ed Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/plugins/debugger/qml/qmlv8debuggerclient.cpp')
-rw-r--r--src/plugins/debugger/qml/qmlv8debuggerclient.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
index 12b618ad50..bfc0a0b666 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
@@ -1235,6 +1235,22 @@ void QmlV8DebuggerClient::messageReceived(const QByteArray &data)
d->requestListBreakpoints = true;
}
+ //Sometimes we do not get event type!
+ //This is most probably due to a wrong eval expression.
+ //Redirect output to console.
+ if (eventType.isEmpty()) {
+ bool success = resp.value(_("success")).toBool();
+ QVariantMap map;
+ map.insert(_(TYPE), QVariant(_("string")));
+ map.insert(_(VALUE), resp.value(_("message")));
+ //Since there is no sequence value, best estimate is
+ //last sequence value
+ updateEvaluationResult(d->sequence, success, QVariant(map), QVariant());
+ if (!isV8Running
+ && d->debugServiceState == QmlV8DebuggerClient::ProcessingRequestState)
+ d->debugServiceState = QmlV8DebuggerClient::WaitingForRequestState;
+ }
+
if (!isV8Running
&& d->debugServiceState == QmlV8DebuggerClient::RunningState)
d->debugServiceState = QmlV8DebuggerClient::WaitingForRequestState;