From b09e566375e2811c34cf66c9869a0544c761b7a2 Mon Sep 17 00:00:00 2001 From: Daniel Teske <daniel.teske@nokia.com> Date: Wed, 4 Jul 2012 13:00:10 +0200 Subject: [PATCH] CMakeBuildConfiguration: Less qobject_casts more static_casts CMakeBuildConfigurations can only exist on CMakeProjects Change-Id: I8501e39f133fea854b953f9739e001cae1f2c0ea Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> --- .../cmakeprojectmanager/cmakebuildconfiguration.cpp | 12 ++++-------- .../cmakeprojectmanager/cmakebuildconfiguration.h | 1 + 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 2bfb623ab8f..6bdb1c0c992 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -56,12 +56,10 @@ const char CMAKE_BC_ID[] = "CMakeProjectManager.CMakeBuildConfiguration"; const char BUILD_DIRECTORY_KEY[] = "CMakeProjectManager.CMakeBuildConfiguration.BuildDirectory"; } // namespace -CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent) : +CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *parent) : BuildConfiguration(parent, Core::Id(CMAKE_BC_ID)) { - CMakeProject *project = qobject_cast<CMakeProject *>(parent->project()); - if (project) - m_buildDirectory = project->defaultBuildDirectory(); + m_buildDirectory = parent->defaultBuildDirectory(); } CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent, @@ -175,9 +173,7 @@ CMakeBuildConfiguration *CMakeBuildConfigurationFactory::create(ProjectExplorer: if (!canCreate(parent, id)) return 0; - CMakeProject *project = qobject_cast<CMakeProject *>(parent->project()); - if (!project) - return 0; + CMakeProject *project = static_cast<CMakeProject *>(parent->project()); bool ok = true; QString buildConfigurationName = name; @@ -191,7 +187,7 @@ CMakeBuildConfiguration *CMakeBuildConfigurationFactory::create(ProjectExplorer: if (!ok || buildConfigurationName.isEmpty()) return 0; - CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(parent); + CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(project); bc->setDisplayName(buildConfigurationName); ProjectExplorer::BuildStepList *buildSteps = bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index 01be5dab510..ca4285606d0 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -43,6 +43,7 @@ class ToolChain; namespace CMakeProjectManager { namespace Internal { +class CMakeProject; class CMakeBuildConfigurationFactory; class CMakeBuildConfiguration : public ProjectExplorer::BuildConfiguration -- GitLab