From 3840f86127ee4f668027067d1e00e960345e840e Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Fri, 19 Feb 2010 17:00:11 +0100
Subject: [PATCH] Fix buildSession if some projects have no active
 buildconfiguration

---
 .../projectexplorer/projectexplorer.cpp       | 21 ++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 030280e75f2..a77803bf53e 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1458,7 +1458,8 @@ void ProjectExplorerPlugin::buildProject()
     if (saveModifiedFiles()) {
         QList<BuildConfiguration *> configurations;
         foreach (Project *pro, d->m_session->projectOrder(d->m_currentProject))
-            configurations << pro->activeTarget()->activeBuildConfiguration();
+            if (pro->activeTarget()->activeBuildConfiguration())
+                configurations << pro->activeTarget()->activeBuildConfiguration();
 
         d->m_buildManager->buildProjects(configurations);
     }
@@ -1472,7 +1473,8 @@ void ProjectExplorerPlugin::buildSession()
     if (saveModifiedFiles()) {
         QList<BuildConfiguration *> configurations;
         foreach (Project *pro, d->m_session->projectOrder())
-            configurations << pro->activeTarget()->activeBuildConfiguration();
+            if (pro->activeTarget()->activeBuildConfiguration())
+                configurations << pro->activeTarget()->activeBuildConfiguration();
         d->m_buildManager->buildProjects(configurations);
     }
 }
@@ -1497,7 +1499,8 @@ void ProjectExplorerPlugin::rebuildProject()
         const QList<Project *> &projects = d->m_session->projectOrder(d->m_currentProject);
         QList<BuildConfiguration *> configurations;
         foreach (Project *pro, projects)
-            configurations << pro->activeTarget()->activeBuildConfiguration();
+            if (pro->activeTarget()->activeBuildConfiguration())
+                configurations << pro->activeTarget()->activeBuildConfiguration();
 
         d->m_buildManager->cleanProjects(configurations);
         d->m_buildManager->buildProjects(configurations);
@@ -1513,7 +1516,8 @@ void ProjectExplorerPlugin::rebuildSession()
         const QList<Project *> & projects = d->m_session->projectOrder();
         QList<BuildConfiguration *> configurations;
         foreach (Project *pro, projects)
-            configurations << pro->activeTarget()->activeBuildConfiguration();
+            if (pro->activeTarget()->activeBuildConfiguration())
+                configurations << pro->activeTarget()->activeBuildConfiguration();
 
         d->m_buildManager->cleanProjects(configurations);
         d->m_buildManager->buildProjects(configurations);
@@ -1538,7 +1542,8 @@ void ProjectExplorerPlugin::cleanProject()
         const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
         QList<BuildConfiguration *> configurations;
         foreach (Project *pro, projects)
-            configurations << pro->activeTarget()->activeBuildConfiguration();
+            if (pro->activeTarget()->activeBuildConfiguration())
+                configurations << pro->activeTarget()->activeBuildConfiguration();
         d->m_buildManager->cleanProjects(configurations);
     }
 }
@@ -1552,7 +1557,8 @@ void ProjectExplorerPlugin::cleanSession()
         const QList<Project *> & projects = d->m_session->projectOrder();
         QList<BuildConfiguration *> configurations;
         foreach (Project *pro, projects)
-            configurations << pro->activeTarget()->activeBuildConfiguration();
+            if (pro->activeTarget()->activeBuildConfiguration())
+                configurations << pro->activeTarget()->activeBuildConfiguration();
         d->m_buildManager->cleanProjects(configurations);
     }
 }
@@ -1584,7 +1590,8 @@ void ProjectExplorerPlugin::runProjectImpl(Project *pro, QString mode)
             const QList<Project *> & projects = d->m_session->projectOrder(pro);
             QList<BuildConfiguration *> configurations;
             foreach(Project *pro, projects)
-                configurations << pro->activeTarget()->activeBuildConfiguration();
+                if (pro->activeTarget()->activeBuildConfiguration())
+                    configurations << pro->activeTarget()->activeBuildConfiguration();
             d->m_buildManager->buildProjects(configurations);
 
             updateRunActions();
-- 
GitLab