summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libs/qtcreatorcdbext/pycdbextmodule.cpp6
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);
}