forked from qt-creator/qt-creator
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:
@@ -54,13 +54,7 @@ ProjectLoadWizard::ProjectLoadWizard(Qt4Project *project, QWidget *parent, Qt::W
|
|||||||
|
|
||||||
setWindowTitle(tr("Project setup"));
|
setWindowTitle(tr("Project setup"));
|
||||||
|
|
||||||
m_importVersions = TargetSetupPage::recursivelyCheckDirectoryForBuild(project->projectDirectory());
|
setupTargetPage();
|
||||||
m_importVersions.append(TargetSetupPage::recursivelyCheckDirectoryForBuild(project->defaultTopLevelBuildDirectory()));
|
|
||||||
|
|
||||||
m_importVersions.append(TargetSetupPage::importInfosForKnownQtVersions(project));
|
|
||||||
|
|
||||||
if (m_importVersions.count() > 1)
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user