From 5ac78258564501f449f409fca46abe3a6ce7b87b Mon Sep 17 00:00:00 2001
From: Lasse Holmstedt <lasse.holmstedt@nokia.com>
Date: Tue, 31 Aug 2010 13:36:30 +0200
Subject: [PATCH] DebuggerUI: Language selection mutual exclusive if lang is
 deselected

---
 src/plugins/debugger/debuggeruiswitcher.cpp | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp
index f5cceab28da..4c3f51aa741 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);
-- 
GitLab