diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java index da4537e9a08..6a0ab979753 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java @@ -92,7 +92,6 @@ public class MakeBuilder extends ACBuilder { private boolean invokeMake(int kind, IMakeBuilderInfo info, IProgressMonitor monitor) { boolean isClean = false; - boolean isCanceled = false; IProject currProject = getProject(); SubProgressMonitor subMonitor = null; @@ -171,13 +170,14 @@ public class MakeBuilder extends ACBuilder { if (launcher.waitAndRead(stdout, stderr, subMonitor) != CommandLauncher.OK) errMsg = launcher.getErrorMessage(); - isCanceled = monitor.isCanceled(); - monitor.setCanceled(false); subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN); subMonitor.subTask(MakeCorePlugin.getResourceString("MakeBuilder.Updating_project")); //$NON-NLS-1$ try { - currProject.refreshLocal(IResource.DEPTH_INFINITE, subMonitor); + // Do not allow the cancel of the refresh, since the builder is external + // to Eclipse, files may have been created/modified and we will be out-of-sync. + // The caveat is for hugue projects, it may take sometimes at every build. + currProject.refreshLocal(IResource.DEPTH_INFINITE, null); } catch (CoreException e) { } } else { @@ -205,7 +205,6 @@ public class MakeBuilder extends ACBuilder { epm.reportProblems(); subMonitor.done(); - monitor.setCanceled(isCanceled); } } catch (Exception e) { CCorePlugin.log(e);