diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 45b78955d360a5f4939cd0ddf484af8d816aa247..98258c13375c30974827c614d1a9fed8613f1b55 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -138,7 +138,6 @@ BuildConfiguration *CMakeBuildConfigurationFactory::clone(ProjectExplorer::Build { CMakeBuildConfiguration *old = static_cast<CMakeBuildConfiguration *>(source); CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(old); - m_project->addBuildConfiguration(bc); return bc; } diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 9f14985559796f999c79908a76042c45f4b762f0..242e04c8c893a575bf36ca39961c74857e780cc7 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -159,7 +159,6 @@ BuildConfiguration *GenericBuildConfigurationFactory::create(const QString &type BuildConfiguration *GenericBuildConfigurationFactory::clone(BuildConfiguration *source) const { GenericBuildConfiguration *bc = new GenericBuildConfiguration(static_cast<GenericBuildConfiguration *>(source)); - m_project->addBuildConfiguration(bc); return bc; } diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 216c1a24db68e6085e615b3841e831713030e2bf..49a4215493ae2197e0521066aa6721ec18f43fc0 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -114,7 +114,7 @@ public: // project mode for editing virtual BuildConfiguration *create(const QString &type) const = 0; - // clones a given BuildConfiguration and adds it to the project + // clones a given BuildConfiguration, should not add it to the project virtual BuildConfiguration *clone(BuildConfiguration *source) const = 0; // restores a BuildConfiguration with the name and adds it to the project diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index 12f8e13983f50efb1a247328630c69d18445bf33..3978b744a35a3aef7f655d5e0f3e68e0c3760d35 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -339,6 +339,7 @@ void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfigura m_buildConfiguration = m_project->buildConfigurationFactory()->clone(sourceConfiguration); m_buildConfiguration->setDisplayName(newDisplayName); + m_project->addBuildConfiguration(m_buildConfiguration); updateBuildSettings(); } diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 9bfbc47e178e3ec932700dc47d30b846fc3b7c98..88d2afad29758b9b11f56a1a645627ff2b164246 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -298,7 +298,6 @@ BuildConfiguration *Qt4BuildConfigurationFactory::clone(BuildConfiguration *sour { Qt4BuildConfiguration *oldbc = static_cast<Qt4BuildConfiguration *>(source); Qt4BuildConfiguration *newbc = new Qt4BuildConfiguration(oldbc); - m_project->addBuildConfiguration(newbc); return newbc; }