diff options
Diffstat (limited to 'src/plugins/debugger/debuggeruiswitcher.cpp')
-rw-r--r-- | src/plugins/debugger/debuggeruiswitcher.cpp | 13 |
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); |