Qnx: Fix lifecycle of the BlackBerryConfigurationManager

This fixes a crash when this class tries to show a UI while it is
destructed.

Task-number: QTCREATORBUG-11712
Change-Id: If4aca14a3ca4792bec1a45903a1f38287d16dbc4
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Tobias Hunger
2014-03-19 12:04:04 +01:00
parent bfd6040224
commit 0e67b293b7
20 changed files with 94 additions and 102 deletions

View File

@@ -485,7 +485,7 @@ void BlackBerryInstallWizardProcessPage::processTarget()
// deactivate target if activated before uninstalling
if (m_data.mode == BlackBerryInstallerDataHandler::UninstallMode) {
foreach (BlackBerryApiLevelConfiguration *config, BlackBerryConfigurationManager::instance().apiLevels()) {
foreach (BlackBerryApiLevelConfiguration *config, BlackBerryConfigurationManager::instance()->apiLevels()) {
if (m_data.target.contains((config->targetName())) && config->isActive()) {
config->deactivate();
break;
@@ -521,13 +521,13 @@ void BlackBerryInstallWizardFinalPage::initializePage()
layout->addWidget(label);
if (m_data.mode == BlackBerryInstallerDataHandler::ManuallMode) {
BlackBerryConfigurationManager &configManager = BlackBerryConfigurationManager::instance();
BlackBerryConfigurationManager *configManager = BlackBerryConfigurationManager::instance();
BlackBerryApiLevelConfiguration *config =
configManager.apiLevelFromEnvFile(Utils::FileName::fromString(m_data.ndkPath));
configManager->apiLevelFromEnvFile(Utils::FileName::fromString(m_data.ndkPath));
if (!config) {
config = new BlackBerryApiLevelConfiguration(Utils::FileName::fromString(m_data.ndkPath));
if (!configManager.addApiLevel(config)) {
if (!configManager->addApiLevel(config)) {
delete config;
// TODO: more explicit error message!
label->setText(tr("An error has occurred while adding target from:\n %1").arg(m_data.ndkPath));