diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp index 43bd5e422742d6c414ac6f0e0d863a71d47a1840..d5843718db70bcad66c8b2cfe0c9f29f624caf8a 100644 --- a/src/plugins/debugger/debuggeruiswitcher.cpp +++ b/src/plugins/debugger/debuggeruiswitcher.cpp @@ -651,7 +651,7 @@ void DebuggerUISwitcher::writeSettings() const } settings->endGroup(); } - { + if (d->m_qmlEnabled) { settings->beginGroup(QLatin1String("DebugMode.CppQmlMode")); QHashIterator<QString, QVariant> it(d->m_dockWidgetActiveStateQmlCpp); while (it.hasNext()) { @@ -674,21 +674,25 @@ void DebuggerUISwitcher::readSettings() } settings->endGroup(); - settings->beginGroup(QLatin1String("DebugMode.CppQmlMode")); - foreach (const QString &key, settings->childKeys()) { - d->m_dockWidgetActiveStateQmlCpp.insert(key, settings->value(key)); + if (d->m_qmlEnabled) { + settings->beginGroup(QLatin1String("DebugMode.CppQmlMode")); + foreach (const QString &key, settings->childKeys()) { + d->m_dockWidgetActiveStateQmlCpp.insert(key, settings->value(key)); + } + settings->endGroup(); } - settings->endGroup(); // reset initial settings when there are none yet - if (d->m_dockWidgetActiveStateCpp.isEmpty() || d->m_dockWidgetActiveStateQmlCpp.isEmpty()) { - DebuggerLanguages langs = d->m_activeDebugLanguages; - d->m_activeDebugLanguages = QmlLanguage; - resetDebuggerLayout(); + DebuggerLanguages langs = d->m_activeDebugLanguages; + if (d->m_dockWidgetActiveStateCpp.isEmpty()) { d->m_activeDebugLanguages = CppLanguage; resetDebuggerLayout(); - d->m_activeDebugLanguages = langs; } + if (d->m_qmlEnabled && d->m_dockWidgetActiveStateQmlCpp.isEmpty()) { + d->m_activeDebugLanguages = QmlLanguage; + resetDebuggerLayout(); + } + d->m_activeDebugLanguages = langs; } void DebuggerUISwitcher::initialize()