diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java index d4e20f1729c..b2a829f71f4 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java @@ -31,10 +31,9 @@ import org.eclipse.core.runtime.IExecutableExtension; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.viewers.IStructuredSelection; @@ -214,21 +213,14 @@ public abstract class NewCProjectWizard extends BasicNewResourceWizard implement // ugly, need to make the wizard page run in a non ui thread so that this can go away!!! getShell().getDisplay().syncExec(() -> { IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(monitor -> { - final IProgressMonitor fMonitor; - if (monitor == null) { - fMonitor = new NullProgressMonitor(); - } else { - fMonitor = monitor; - } - fMonitor.beginTask(CUIPlugin.getResourceString(OP_DESC), 3); - doRunPrologue(new SubProgressMonitor(fMonitor, 1)); + SubMonitor subMonitor = SubMonitor.convert(monitor, CUIPlugin.getResourceString(OP_DESC), 3); + doRunPrologue(subMonitor.split(1)); try { - doRun(new SubProgressMonitor(fMonitor, 1)); + doRun(subMonitor.split(1)); } catch (CoreException e) { except[0] = e; } - doRunEpilogue(new SubProgressMonitor(fMonitor, 1)); - fMonitor.done(); + doRunEpilogue(subMonitor.split(1)); }); try { getContainer().run(false, true, op); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java index e55138733f2..70e312f42c6 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java @@ -28,8 +28,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.jface.viewers.CheckboxTableViewer; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredContentProvider; @@ -445,11 +444,8 @@ public abstract class ConvertProjectWizardPage extends WizardPage { int totalSelected = selection.length; if (totalSelected > 0) { - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - monitor.beginTask(CUIPlugin.getResourceString(KEY_TITLE), 1); - convertProjects(selection, monitor, projectID); + SubMonitor submonitor = SubMonitor.convert(monitor, CUIPlugin.getResourceString(KEY_TITLE), 1); + convertProjects(selection, submonitor.split(1), projectID); } } @@ -462,11 +458,8 @@ public abstract class ConvertProjectWizardPage extends WizardPage { int totalSelected = selection.length; if (totalSelected > 0) { - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - monitor.beginTask(CUIPlugin.getResourceString(KEY_TITLE), 1); - convertProjects(selection, bsId, monitor); + SubMonitor submonitor = SubMonitor.convert(monitor, CUIPlugin.getResourceString(KEY_TITLE), 1); + convertProjects(selection, bsId, submonitor.split(1)); } } } @@ -482,26 +475,20 @@ public abstract class ConvertProjectWizardPage extends WizardPage { * @throws CoreException */ private void convertProjects(Object[] selected, IProgressMonitor monitor, String projectID) throws CoreException { - monitor.beginTask(CUIPlugin.getResourceString(KEY_CONVERTING), selected.length); - try { - for (Object element : selected) { - IProject project = (IProject) element; - convertProject(project, new SubProgressMonitor(monitor, 1), projectID); - } - } finally { - monitor.done(); + SubMonitor subMonitor = SubMonitor.convert(monitor, CUIPlugin.getResourceString(KEY_CONVERTING), + selected.length); + for (Object element : selected) { + IProject project = (IProject) element; + convertProject(project, subMonitor.split(1), projectID); } } private void convertProjects(Object[] selected, String bsId, IProgressMonitor monitor) throws CoreException { - monitor.beginTask(CUIPlugin.getResourceString(KEY_CONVERTING), selected.length); - try { - for (Object element : selected) { - IProject project = (IProject) element; - convertProject(project, bsId, new SubProgressMonitor(monitor, 1)); - } - } finally { - monitor.done(); + SubMonitor subMonitor = SubMonitor.convert(monitor, CUIPlugin.getResourceString(KEY_CONVERTING), + selected.length); + for (Object element : selected) { + IProject project = (IProject) element; + convertProject(project, bsId, subMonitor.split(1)); } }