From f8dc81e5cc6c4594191af43a6e8d3a1bdfb6f1f5 Mon Sep 17 00:00:00 2001 From: Chris Wiebe Date: Mon, 8 Nov 2004 22:06:36 +0000 Subject: [PATCH] 2004-11-08 Chris Wiebe fix for 68883 * browser/org/eclipse/cdt/internal/core/browser/cache/TypeCacheManager.java --- core/org.eclipse.cdt.core/browser/ChangeLog-browser | 5 +++++ .../cdt/internal/core/browser/cache/TypeCacheManager.java | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/browser/ChangeLog-browser b/core/org.eclipse.cdt.core/browser/ChangeLog-browser index 72c2a566b89..6bc47a6bb34 100644 --- a/core/org.eclipse.cdt.core/browser/ChangeLog-browser +++ b/core/org.eclipse.cdt.core/browser/ChangeLog-browser @@ -1,3 +1,8 @@ +2004-11-08 Chris Wiebe + + fix for 68883 + * browser/org/eclipse/cdt/internal/core/browser/cache/TypeCacheManager.java + 2004-09-15 Chris Wiebe add getTypes and getAllTypes methods diff --git a/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/internal/core/browser/cache/TypeCacheManager.java b/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/internal/core/browser/cache/TypeCacheManager.java index 5b68324e2a4..9e34c72cd24 100644 --- a/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/internal/core/browser/cache/TypeCacheManager.java +++ b/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/internal/core/browser/cache/TypeCacheManager.java @@ -92,15 +92,17 @@ public class TypeCacheManager implements ITypeCacheChangedListener { boolean removed = (delta.getKind() == ICElementDelta.REMOVED); boolean contentChanged = ((delta.getFlags() & ICElementDelta.F_CONTENT) != 0); boolean pathEntryChanged = ((delta.getFlags() & PATH_ENTRY_FLAGS) != 0); + boolean openedOrClosed = (((delta.getFlags() & ICElementDelta.F_CLOSED) != 0) || ((delta.getFlags() & ICElementDelta.F_OPENED) != 0)); boolean hasChildren = ((delta.getFlags() & ICElementDelta.F_CHILDREN) != 0); int deltaCount = 0; + switch (elem.getElementType()) { case ICElement.C_PROJECT: case ICElement.C_CCONTAINER: { ICProject cProject = elem.getCProject(); IProject project = cProject.getProject(); - if (added || removed || pathEntryChanged) { + if (added || removed || pathEntryChanged || openedOrClosed) { addCacheDelta(project, delta); ++deltaCount; }