diff options
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); } |