diff options
author | dt <qtc-committer@nokia.com> | 2010-08-31 13:57:32 +0200 |
---|---|---|
committer | dt <qtc-committer@nokia.com> | 2010-09-01 12:37:29 +0200 |
commit | 160cf4096c9bc7b7c057346f4373757fddaf6721 (patch) | |
tree | 38078fa71419721772c218d14544adb2f4333301 /src/plugins/cmakeprojectmanager/cmaketarget.cpp | |
parent | ba876ffd480511d85731d3dc49b0718ba65dc633 (diff) | |
download | qt-creator-160cf4096c9bc7b7c057346f4373757fddaf6721.tar.gz |
Make sure we don't leave unconfigured Custom Executable RC laying around
Task-Nr: QTCREATORBUG-2222
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmaketarget.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmaketarget.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.cpp b/src/plugins/cmakeprojectmanager/cmaketarget.cpp index 9ee46af9a9..7d19447a01 100644 --- a/src/plugins/cmakeprojectmanager/cmaketarget.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketarget.cpp @@ -107,9 +107,14 @@ void CMakeTarget::updateRunConfigurations() { // *Update* runconfigurations: QMultiMap<QString, CMakeRunConfiguration*> existingRunConfigurations; - foreach(ProjectExplorer::RunConfiguration* cmakeRunConfiguration, runConfigurations()) { - if (CMakeRunConfiguration* rc = qobject_cast<CMakeRunConfiguration *>(cmakeRunConfiguration)) - existingRunConfigurations.insert(rc->title(), rc); + QList<ProjectExplorer::RunConfiguration *> toRemove; + foreach(ProjectExplorer::RunConfiguration* rc, runConfigurations()) { + if (CMakeRunConfiguration* cmakeRC = qobject_cast<CMakeRunConfiguration *>(rc)) + existingRunConfigurations.insert(cmakeRC->title(), cmakeRC); + ProjectExplorer::CustomExecutableRunConfiguration *ceRC = + qobject_cast<ProjectExplorer::CustomExecutableRunConfiguration *>(rc); + if (ceRC && !ceRC->isConfigured()) + toRemove << rc; } foreach(const CMakeBuildTarget &ct, cmakeProject()->buildTargets()) { @@ -142,6 +147,10 @@ void CMakeTarget::updateRunConfigurations() rc->setEnabled(false); // removeRunConfiguration(rc); } + + foreach (ProjectExplorer::RunConfiguration *rc, toRemove) + removeRunConfiguration(rc); + if (runConfigurations().isEmpty()) { // Oh no, no run configuration, // create a custom executable run configuration |