1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-06 17:26:01 +02:00

Bug #183908: avoid NPE in case when Config Page is not created.

This commit is contained in:
Oleg Krasilnikov 2007-04-25 07:54:51 +00:00
parent 1d07593fd1
commit b913e933a9

View file

@ -167,14 +167,19 @@ public class MBSWizardHandler extends CWizardHandler implements ICBuildWizardHan
public void createProject(IProject project, boolean defaults) throws CoreException { public void createProject(IProject project, boolean defaults) throws CoreException {
CoreModel coreModel = CoreModel.getDefault(); CoreModel coreModel = CoreModel.getDefault();
CfgHolder[] cfgs = fConfigPage.getCfgItems(defaults);
ICProjectDescription des = coreModel.createProjectDescription(project, false); ICProjectDescription des = coreModel.createProjectDescription(project, false);
ManagedBuildInfo info = ManagedBuildManager.createBuildInfo(project); ManagedBuildInfo info = ManagedBuildManager.createBuildInfo(project);
CfgHolder[] cfgs = null;
if (cfgs == null || cfgs.length == 0) if (defaults) {
cfgs = CDTConfigWizardPage.getDefaultCfgs(this); cfgs = CDTConfigWizardPage.getDefaultCfgs(this);
} else {
getSpecificPage(); // ensure that page is created
cfgs = fConfigPage.getCfgItems(defaults);
if (cfgs == null || cfgs.length == 0)
cfgs = CDTConfigWizardPage.getDefaultCfgs(this);
}
if (cfgs[0].getConfiguration() == null) { if (cfgs == null || cfgs.length == 0 || cfgs[0].getConfiguration() == null) {
throw new CoreException(new Status(IStatus.ERROR, throw new CoreException(new Status(IStatus.ERROR,
ManagedBuilderUIPlugin.getUniqueIdentifier(), ManagedBuilderUIPlugin.getUniqueIdentifier(),
Messages.getString("CWizardHandler.6"))); //$NON-NLS-1$ Messages.getString("CWizardHandler.6"))); //$NON-NLS-1$
@ -293,6 +298,7 @@ public class MBSWizardHandler extends CWizardHandler implements ICBuildWizardHan
return wizard; return wizard;
} }
public CfgHolder[] getCfgItems(boolean defaults) { public CfgHolder[] getCfgItems(boolean defaults) {
getSpecificPage(); // ensure that page is created
return fConfigPage.getCfgItems(defaults); return fConfigPage.getCfgItems(defaults);
} }
public String getErrorMessage() { public String getErrorMessage() {