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