diff options
author | Mika Attila <radiantstatue@gmail.com> | 2014-09-03 13:36:35 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2014-09-03 14:06:10 +0200 |
commit | 7ec74147a8f78ca2e376d238baa4449f59a1d552 (patch) | |
tree | 449150ba00c3604e34d5224bd469ed9fce9b7d84 /src/plugins/projectexplorer/buildsettingspropertiespage.cpp | |
parent | e3bc7d19cf201ae3c1039695ba01dc494848404f (diff) |
ProjectExplorer: Fix name not queried on adding new build configuration
BuildSettingsWidget::createConfiguration() works with a BuildInfo
object borrowed from an IBuildConfigurationFactory, and uses it to create
a new build configuration.
The original BuildInfo object should not be permanently changed, as it's
only used here for creating the new build configuration.
Ideally, it should work on a clone of the buildinfo/factory, but that
would require adding and implementing a polymorphic clone method
for either class.
This commit works around this problem by restoring the original
displayName of the buildinfo after use.
Task-number: QTCREATORBUG-12955
Change-Id: Iccf2123c4377a39396860a1cfaa817a98dacebd4
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/buildsettingspropertiespage.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildsettingspropertiespage.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index eba28dacb7..579f1b6d97 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -238,6 +238,7 @@ void BuildSettingsWidget::createConfiguration() { QAction *action = qobject_cast<QAction *>(sender()); BuildInfo *info = static_cast<BuildInfo *>(action->data().value<void*>()); + QString originalDisplayName = info->displayName; if (info->displayName.isEmpty()) { bool ok = false; @@ -256,6 +257,7 @@ void BuildSettingsWidget::createConfiguration() m_target->addBuildConfiguration(bc); m_target->setActiveBuildConfiguration(bc); + info->displayName = originalDisplayName; } void BuildSettingsWidget::cloneConfiguration() |