From ea8306b084973f60f65e2aa7af6dbbdbe14dbe6c Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sat, 23 Nov 2002 04:34:01 +0000 Subject: [PATCH] Catch when fMainPage is null. --- .../cdt/ui/wizards/CProjectWizard.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/CProjectWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/CProjectWizard.java index 7322c03d730..43d4c08f02d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/CProjectWizard.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/CProjectWizard.java @@ -123,7 +123,9 @@ public abstract class CProjectWizard extends BasicNewResourceWizard implements I * Gets the project location path from the main page * Overwrite this method if you do not have a main page */ - protected IPath getLocationPath() { + protected IPath getLocationPath() throws UnsupportedOperationException { + if (null == fMainPage) + throw new UnsupportedOperationException(); return fMainPage.getLocationPath(); } @@ -132,7 +134,9 @@ public abstract class CProjectWizard extends BasicNewResourceWizard implements I * Overwrite this method if you do not have a main page */ - protected IProject getProjectHandle() { + protected IProject getProjectHandle() throws UnsupportedOperationException { + if (null == fMainPage) + throw new UnsupportedOperationException(); return fMainPage.getProjectHandle(); } @@ -254,8 +258,8 @@ public abstract class CProjectWizard extends BasicNewResourceWizard implements I CUIPlugin.log(th); try { getProjectHandle().delete(false, false, null); - } - catch (CoreException ignore) { + } catch (CoreException ignore) { + } catch (UnsupportedOperationException ignore) { } return false; } catch (InterruptedException e) { @@ -290,7 +294,12 @@ public abstract class CProjectWizard extends BasicNewResourceWizard implements I return newProject; // get a project handle - IProject newProjectHandle = getProjectHandle(); + IProject newProjectHandle = null; + try { + newProjectHandle = getProjectHandle(); + } catch (UnsupportedOperationException e) { + throw new CoreException(new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID, 0, e.getMessage(), null)); + } // get a project descriptor IPath defaultPath = Platform.getLocation();