diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java index 0d96d358f37..bb4ea049e27 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java @@ -478,8 +478,12 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager { if (newContents != null) { ByteArrayOutputStream oldOut = write(oldEl); InputStream oldContents = new ByteArrayInputStream(oldOut.toByteArray()); - if(streamsMatch(newContents, oldContents)) - return null; + try { + if(streamsMatch(newContents, oldContents)) + return null; + } finally { + newContents.close(); + } } } } catch (CoreException e){ diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/ResourceChangeHandler.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/ResourceChangeHandler.java index ad0bc1d89c8..2544e08a0a8 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/ResourceChangeHandler.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/ResourceChangeHandler.java @@ -340,7 +340,7 @@ public class ResourceChangeHandler extends ResourceChangeHandlerBase implements if(!shouldVisit((IProject)projDelta.getResource())) continue; - if((projDelta.getFlags() & IResourceDelta.REMOVED) == IResourceDelta.REMOVED) + if((projDelta.getKind() & IResourceDelta.REMOVED) == IResourceDelta.REMOVED) continue; IResourceDelta children[] = projDelta.getAffectedChildren(); @@ -354,9 +354,10 @@ public class ResourceChangeHandler extends ResourceChangeHandlerBase implements continue; //the .cproject file is changed - if((child.getFlags() & IResourceDelta.REMOVED) == IResourceDelta.REMOVED){ + if((child.getKind() & IResourceDelta.REMOVED) == IResourceDelta.REMOVED){ //project file does not exist or corrupted, remove ((RcMoveHandler)handler).setProjectDescription(rc.getProject(), null); + continue; } try {