forked from qt-creator/qt-creator
CMakeProjectManager: Fix crash for makesteps in deployconfigurations
Task-number: QTCREATORBUG-7143 Change-Id: I0bf4e0e45367c361bd3efa5e2db9349d438184ab Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
@@ -249,7 +249,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
|
|||||||
|
|
||||||
// TODO update this list also on rescans of the CMakeLists.txt
|
// TODO update this list also on rescans of the CMakeLists.txt
|
||||||
// TODO shouldn't be accessing project
|
// 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()) {
|
foreach (const QString& buildTarget, pro->buildTargetTitles()) {
|
||||||
QListWidgetItem *item = new QListWidgetItem(buildTarget, m_buildTargetsList);
|
QListWidgetItem *item = new QListWidgetItem(buildTarget, m_buildTargetsList);
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||||
@@ -288,7 +288,7 @@ void MakeStepConfigWidget::buildTargetsChanged()
|
|||||||
{
|
{
|
||||||
disconnect(m_buildTargetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*)));
|
disconnect(m_buildTargetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*)));
|
||||||
m_buildTargetsList->clear();
|
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()) {
|
foreach (const QString& buildTarget, pro->buildTargetTitles()) {
|
||||||
QListWidgetItem *item = new QListWidgetItem(buildTarget, m_buildTargetsList);
|
QListWidgetItem *item = new QListWidgetItem(buildTarget, m_buildTargetsList);
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||||
@@ -301,6 +301,8 @@ void MakeStepConfigWidget::buildTargetsChanged()
|
|||||||
void MakeStepConfigWidget::updateDetails()
|
void MakeStepConfigWidget::updateDetails()
|
||||||
{
|
{
|
||||||
CMakeBuildConfiguration *bc = m_makeStep->cmakeBuildConfiguration();
|
CMakeBuildConfiguration *bc = m_makeStep->cmakeBuildConfiguration();
|
||||||
|
if (!bc)
|
||||||
|
bc = static_cast<CMakeBuildConfiguration *>(m_makeStep->target()->activeBuildConfiguration());
|
||||||
ProjectExplorer::ToolChain *tc = bc->toolChain();
|
ProjectExplorer::ToolChain *tc = bc->toolChain();
|
||||||
if (tc) {
|
if (tc) {
|
||||||
QString arguments = Utils::QtcProcess::joinArgs(m_makeStep->m_buildTargets);
|
QString arguments = Utils::QtcProcess::joinArgs(m_makeStep->m_buildTargets);
|
||||||
|
Reference in New Issue
Block a user