From dc251deccf41b5436b44fa017374f452df0f1581 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 24 Jun 2012 20:30:02 +0300 Subject: [PATCH] Project: Fix crashes Task-number: QTCREATORBUG-7563 Change-Id: Ib7630e9ca82a0b09703ff948af95af53ced05730 Reviewed-by: Tobias Hunger --- .../buildsettingspropertiespage.cpp | 2 ++ src/plugins/qt4projectmanager/qt4project.cpp | 17 ++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index 91a693a5618..66b4341ed57 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -226,6 +226,8 @@ void BuildSettingsWidget::updateAddButtonMenu() this, SLOT(cloneConfiguration())); } IBuildConfigurationFactory * factory = IBuildConfigurationFactory::find(m_target); + if (!factory) + return; foreach (Core::Id id, factory->availableCreationIds(m_target)) { QAction *action = m_addButtonMenu->addAction(factory->displayNameForId(id), this, SLOT(createConfiguration())); action->setData(QVariant::fromValue(id)); diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 54abc51f7ea..d552591754c 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -924,17 +924,16 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro Profile *p; Utils::Environment env = Utils::Environment::systemEnvironment(); - Qt4BuildConfiguration *currentBc = bc; QStringList qmakeArgs; - if (!currentBc) - currentBc = activeTarget() ? qobject_cast(activeTarget()->activeBuildConfiguration()) : 0; + if (!bc) + bc = activeTarget() ? qobject_cast(activeTarget()->activeBuildConfiguration()) : 0; - if (currentBc) { - p = currentBc->target()->profile(); - env = currentBc->environment(); - if (currentBc->qmakeStep()) { - qmakeArgs = currentBc->qmakeStep()->parserArguments(); - m_proFileOption->qmakespec = currentBc->qmakeStep()->mkspec().toString(); + if (bc) { + p = bc->target()->profile(); + env = bc->environment(); + if (bc->qmakeStep()) { + qmakeArgs = bc->qmakeStep()->parserArguments(); + m_proFileOption->qmakespec = bc->qmakeStep()->mkspec().toString(); } else { qmakeArgs = bc->configCommandLineArguments(); }