diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-03-16 11:44:34 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-03-16 10:52:59 +0000 |
commit | c8da2438ecccb24bcfcd69b34d09235c2b5743d1 (patch) | |
tree | 1669de3681a4af8c7c04d0da74e0d208df3923a4 /src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp | |
parent | bf7da428fb9ad169f89514df45d77c9b64d00caa (diff) |
CMakeSettings: Do not break most of other settings
Just do not return early, which then missed a settings->endGroup() call.
Fixes a regression introduced by
99e9643dea3871f26c5a09e4a1715ba84c9103e9
Change-Id: I102eb76e3381012cddb73c1132b6443dd2cd592f
Task-number: QTCREATORBUG-14139
Task-number: QTCREATORBUG-14140
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp b/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp index b65febaec0..913d076ed1 100644 --- a/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp @@ -136,24 +136,23 @@ static void readAndDeleteLegacyCMakeSettings () settings->beginGroup(QLatin1String("CMakeSettings")); FileName exec = FileName::fromUserInput(settings->value(QLatin1String("cmakeExecutable")).toString()); - if (!exec.toFileInfo().isExecutable()) - return; - - CMakeTool *item = CMakeToolManager::findByCommand(exec); - if (!item) { - item = new CMakeTool(CMakeTool::ManualDetection); - item->setCMakeExecutable(exec); - item->setDisplayName(CMakeToolManager::tr("CMake at %1").arg(item->cmakeExecutable().toUserOutput())); - - if (!CMakeToolManager::registerCMakeTool(item)) { - delete item; - item = 0; + if (exec.toFileInfo().isExecutable()) { + CMakeTool *item = CMakeToolManager::findByCommand(exec); + if (!item) { + item = new CMakeTool(CMakeTool::ManualDetection); + item->setCMakeExecutable(exec); + item->setDisplayName(CMakeToolManager::tr("CMake at %1").arg(item->cmakeExecutable().toUserOutput())); + + if (!CMakeToolManager::registerCMakeTool(item)) { + delete item; + item = 0; + } } - } - //this setting used to be the default cmake, make sure it is again - if (item) - d->m_defaultCMake = item->id(); + //this setting used to be the default cmake, make sure it is again + if (item) + d->m_defaultCMake = item->id(); + } //read the legacy ninja setting, if its not available use the current value d->m_preferNinja = settings->value(QLatin1String("preferNinja"), d->m_preferNinja).toBool(); |