From b98a43f4369ef883e3e7ebb0314b6eccc00a02ae Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Mon, 28 Jun 2004 21:09:07 +0000 Subject: [PATCH] 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 --- core/org.eclipse.cdt.core/ChangeLog | 6 ++++++ .../cdt/internal/core/model/DeltaProcessor.java | 12 ++++++++---- .../org/eclipse/cdt/core/resources/FileStorage.java | 9 ++++----- 3 files changed, 18 insertions(+), 9 deletions(-) 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); }