From 2bd4758fe4401b241a5b85df11bb764e8ad8af81 Mon Sep 17 00:00:00 2001 From: Daniel Teske <daniel.teske@nokia.com> Date: Wed, 28 Mar 2012 13:18:25 +0200 Subject: [PATCH] CMakeProjectManager: Fix crash for makesteps in deployconfigurations Task-number: QTCREATORBUG-7143 Change-Id: I0bf4e0e45367c361bd3efa5e2db9349d438184ab Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> --- src/plugins/cmakeprojectmanager/makestep.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp index 431b6c9deac..524ba5548a5 100644 --- a/src/plugins/cmakeprojectmanager/makestep.cpp +++ b/src/plugins/cmakeprojectmanager/makestep.cpp @@ -249,7 +249,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) // TODO update this list also on rescans of the CMakeLists.txt // TODO shouldn't be accessing project - CMakeProject *pro = m_makeStep->cmakeBuildConfiguration()->cmakeTarget()->cmakeProject(); + CMakeProject *pro = static_cast<CMakeProject *>(m_makeStep->target()->project()); foreach (const QString& buildTarget, pro->buildTargetTitles()) { QListWidgetItem *item = new QListWidgetItem(buildTarget, m_buildTargetsList); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); @@ -288,7 +288,7 @@ void MakeStepConfigWidget::buildTargetsChanged() { disconnect(m_buildTargetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*))); m_buildTargetsList->clear(); - CMakeProject *pro = m_makeStep->cmakeBuildConfiguration()->cmakeTarget()->cmakeProject(); + CMakeProject *pro = static_cast<CMakeProject *>(m_makeStep->target()->project()); foreach (const QString& buildTarget, pro->buildTargetTitles()) { QListWidgetItem *item = new QListWidgetItem(buildTarget, m_buildTargetsList); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); @@ -301,6 +301,8 @@ void MakeStepConfigWidget::buildTargetsChanged() void MakeStepConfigWidget::updateDetails() { CMakeBuildConfiguration *bc = m_makeStep->cmakeBuildConfiguration(); + if (!bc) + bc = static_cast<CMakeBuildConfiguration *>(m_makeStep->target()->activeBuildConfiguration()); ProjectExplorer::ToolChain *tc = bc->toolChain(); if (tc) { QString arguments = Utils::QtcProcess::joinArgs(m_makeStep->m_buildTargets); -- GitLab