diff options
author | David Schulz <david.schulz@qt.io> | 2017-03-29 08:34:30 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2017-03-29 07:05:28 +0000 |
commit | d0ee83768ca25b1a9e09313b1259b64f33c07ec2 (patch) | |
tree | 362a35632352043a1cc95292a827c3272a71414e /src | |
parent | cd2a70c86788b478e51f9bb18de2483d4bb2d1ec (diff) | |
download | qt-creator-d0ee83768ca25b1a9e09313b1259b64f33c07ec2.tar.gz |
Debugger: Reset expression syntax after evaluate
Fixes setting breakpoints after using python dumpers.
Change-Id: Ifd917526e91c73f82f943645e1d1d11790369179
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/qtcreatorcdbext/pycdbextmodule.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/qtcreatorcdbext/pycdbextmodule.cpp b/src/libs/qtcreatorcdbext/pycdbextmodule.cpp index 4d16671c02..4ca11a777d 100644 --- a/src/libs/qtcreatorcdbext/pycdbextmodule.cpp +++ b/src/libs/qtcreatorcdbext/pycdbextmodule.cpp @@ -102,9 +102,13 @@ static PyObject *cdbext_parseAndEvaluate(PyObject *, PyObject *args) // -> Value if (debugPyCdbextModule) DebugPrint() << "evaluate expression: " << expr; CIDebugControl *control = ExtensionCommandContext::instance()->control(); + ULONG oldExpressionSyntax; + control->GetExpressionSyntax(&oldExpressionSyntax); control->SetExpressionSyntax(DEBUG_EXPR_CPLUSPLUS); DEBUG_VALUE value; - if (FAILED(control->Evaluate(expr, DEBUG_VALUE_INT64, &value, NULL))) + HRESULT hr = control->Evaluate(expr, DEBUG_VALUE_INT64, &value, NULL); + control->SetExpressionSyntax(oldExpressionSyntax); + if (FAILED(hr)) Py_RETURN_NONE; return Py_BuildValue("K", value.I64); } |