### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/DeltaProcessor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/DeltaProcessor.java,v retrieving revision 1.283.4.4 diff -u -r1.283.4.4 DeltaProcessor.java --- model/org/eclipse/jdt/internal/core/DeltaProcessor.java 10 Nov 2006 09:46:10 -0000 1.283.4.4 +++ model/org/eclipse/jdt/internal/core/DeltaProcessor.java 7 Jan 2008 15:34:51 -0000 @@ -2080,9 +2080,10 @@ break; case IResourceDelta.CHANGED: processChildren = isJavaProject; + // always add to affected projects + // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=213723 + affectedProjects.add(project.getFullPath()); if ((delta.getFlags() & IResourceDelta.OPEN) != 0) { - // project opened or closed: remember project and its dependents - affectedProjects.add(project.getFullPath()); if (isJavaProject) { JavaProject javaProject = (JavaProject)JavaCore.create(project); javaProject.updateClasspathMarkers(preferredClasspaths, preferredOutputs); // in case .classpath got modified while closed @@ -2090,8 +2091,6 @@ } else if ((delta.getFlags() & IResourceDelta.DESCRIPTION) != 0) { boolean wasJavaProject = this.state.findJavaProject(project.getName()) != null; if (wasJavaProject && !isJavaProject) { - // project no longer has Java nature, discard Java related obsolete markers - affectedProjects.add(project.getFullPath()); // flush classpath markers JavaProject javaProject = (JavaProject)JavaCore.create(project); javaProject.