Fix possible crash on project import

Fix possible crash on import of projects into creator with
only one valid Qt version set up.

Reviewed-by: dt
Task-number: QTCREATORBUG-1017
This commit is contained in:
Tobias Hunger
2010-04-01 13:07:32 +02:00
parent f9db69b8ec
commit 4ebf9cb20e
2 changed files with 9 additions and 11 deletions

View File

@@ -54,12 +54,6 @@ ProjectLoadWizard::ProjectLoadWizard(Qt4Project *project, QWidget *parent, Qt::W
setWindowTitle(tr("Project setup")); setWindowTitle(tr("Project setup"));
m_importVersions = TargetSetupPage::recursivelyCheckDirectoryForBuild(project->projectDirectory());
m_importVersions.append(TargetSetupPage::recursivelyCheckDirectoryForBuild(project->defaultTopLevelBuildDirectory()));
m_importVersions.append(TargetSetupPage::importInfosForKnownQtVersions(project));
if (m_importVersions.count() > 1)
setupTargetPage(); setupTargetPage();
setOptions(options() | QWizard::NoCancelButton | QWizard::NoBackButtonOnLastPage); setOptions(options() | QWizard::NoCancelButton | QWizard::NoBackButtonOnLastPage);
@@ -100,11 +94,18 @@ void ProjectLoadWizard::setupTargetPage()
if (m_targetSetupPage) if (m_targetSetupPage)
return; return;
QList<TargetSetupPage::ImportInfo> importVersions = TargetSetupPage::recursivelyCheckDirectoryForBuild(m_project->projectDirectory());
importVersions.append(TargetSetupPage::recursivelyCheckDirectoryForBuild(m_project->defaultTopLevelBuildDirectory()));
importVersions.append(TargetSetupPage::importInfosForKnownQtVersions(m_project));
m_targetSetupPage = new TargetSetupPage(this); m_targetSetupPage = new TargetSetupPage(this);
m_targetSetupPage->setImportInfos(m_importVersions); m_targetSetupPage->setImportInfos(importVersions);
m_targetSetupPage->setImportDirectoryBrowsingEnabled(true); m_targetSetupPage->setImportDirectoryBrowsingEnabled(true);
m_targetSetupPage->setImportDirectoryBrowsingLocation(m_project->projectDirectory()); m_targetSetupPage->setImportDirectoryBrowsingLocation(m_project->projectDirectory());
if (importVersions.count() <= 1)
return;
const int targetPageId = addPage(m_targetSetupPage); const int targetPageId = addPage(m_targetSetupPage);
wizardProgress()->item(targetPageId)->setTitle(tr("Targets")); wizardProgress()->item(targetPageId)->setTitle(tr("Targets"));
} }
@@ -114,4 +115,3 @@ void ProjectLoadWizard::applySettings()
Q_ASSERT(m_targetSetupPage); Q_ASSERT(m_targetSetupPage);
m_targetSetupPage->setupProject(m_project); m_targetSetupPage->setupProject(m_project);
} }

View File

@@ -57,8 +57,6 @@ private:
void applySettings(); void applySettings();
Qt4Project *m_project; Qt4Project *m_project;
QList<TargetSetupPage::ImportInfo> m_importVersions;
TargetSetupPage *m_targetSetupPage; TargetSetupPage *m_targetSetupPage;
}; };