diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index 6117365a1a4..b7c17a526b9 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,9 @@ +2004-06-28 Alain Magloire + + Fix for PR 68820. + * model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java + * src/org/eclipse/cdt/core/resources/FileStorage.java + 2004-06-28 Hoda Amer Patch for Keith Campbell, a small fix in CConventions. diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java index 85a67d5c5f6..31e0b071cd9 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java @@ -375,9 +375,8 @@ public class DeltaProcessor { ICElementDelta[] result = new ICElementDelta[index]; System.arraycopy(realDeltas, 0, result, 0, index); return result; - } else { - return NO_DELTA; } + return NO_DELTA; } /** @@ -430,9 +429,14 @@ public class DeltaProcessor { IResource resource = delta.getResource(); ICElement current = createElement(resource); updateChildren = updateCurrentDeltaAndIndex(delta); - if (current == null || current instanceof ISourceRoot || - (current instanceof ICProject && !((ICProject)current).getProject().isOpen())) { + if (current == null || current instanceof ISourceRoot) { nonCResourcesChanged(parent, delta); + } else if (current instanceof ICProject) { + ICProject cprj = (ICProject)current; + CModel cModel = CModelManager.getDefault().getCModel(); + if (!cprj.getProject().isOpen() || cModel.findCProject(cprj.getProject()) == null) { + nonCResourcesChanged(parent, delta); + } } else { parent = current; } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/FileStorage.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/FileStorage.java index 8e6ec4ec1ea..5deee96bd5d 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/FileStorage.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/FileStorage.java @@ -40,9 +40,8 @@ public class FileStorage extends PlatformObject implements IStorage { throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, IStatus.ERROR, e.toString(), e)); } - } else { - return in; } + return in; } /** @@ -86,10 +85,10 @@ public class FileStorage extends PlatformObject implements IStorage { if (this == obj) return true; if (obj instanceof IStorage) { - IPath path= getFullPath(); + IPath p= getFullPath(); IPath objPath= ((IStorage)obj).getFullPath(); - if (path != null && objPath != null) - return path.equals(objPath); + if (p != null && objPath != null) + return p.equals(objPath); } return super.equals(obj); }