summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/debuggeruiswitcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/debuggeruiswitcher.cpp')
-rw-r--r--src/plugins/debugger/debuggeruiswitcher.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp
index f5cceab28d..4c3f51aa74 100644
--- a/src/plugins/debugger/debuggeruiswitcher.cpp
+++ b/src/plugins/debugger/debuggeruiswitcher.cpp
@@ -265,6 +265,8 @@ void DebuggerUISwitcher::updateUiForRunConfiguration(ProjectExplorer::RunConfigu
void DebuggerUISwitcher::updateActiveLanguages()
{
+ DebuggerLanguages prevLanguages = d->m_activeDebugLanguages;
+
d->m_activeDebugLanguages = AnyLanguage;
if (d->m_activateCppAction->isChecked())
@@ -274,8 +276,15 @@ void DebuggerUISwitcher::updateActiveLanguages()
d->m_activeDebugLanguages |= QmlLanguage;
if (d->m_activeDebugLanguages == AnyLanguage) {
- d->m_activateCppAction->setChecked(true);
- d->m_activeDebugLanguages = CppLanguage;
+ // do mutual exclusive selection if qml is enabled. Otherwise, just keep
+ // cpp language selected.
+ if (prevLanguages & CppLanguage && d->m_qmlEnabled) {
+ d->m_activeDebugLanguages = QmlLanguage;
+ d->m_activateQmlAction->setChecked(true);
+ } else {
+ d->m_activateCppAction->setChecked(true);
+ d->m_activeDebugLanguages = CppLanguage;
+ }
}
emit activeLanguagesChanged(d->m_activeDebugLanguages);