diff --git a/core/org.eclipse.cdt.core/index/ChangeLog b/core/org.eclipse.cdt.core/index/ChangeLog index 0b155241b46..46c474678db 100644 --- a/core/org.eclipse.cdt.core/index/ChangeLog +++ b/core/org.eclipse.cdt.core/index/ChangeLog @@ -1,3 +1,6 @@ +2004-03-31 Bogdan Gheorghe + Added a check to SourceIndexRequestor.removeMarkers to prevent hang. + 2004-03-31 Bogdan Gheorghe Modified SourceIndexer and SourceIndexerRequestor to place IProblem markers on resources. diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java index b490bf3008b..59cf5d1099d 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java @@ -538,7 +538,11 @@ public class SourceIndexerRequestor implements ISourceElementRequestor, IIndexCo public void removeMarkers(IFile resource) { int depth = IResource.DEPTH_INFINITE; try { + IMarker[] markers = resource.findMarkers(ICModelMarker.INDEXER_MARKER,true,depth); + if (markers.length > 0){ resource.deleteMarkers(ICModelMarker.INDEXER_MARKER, true, depth); + } + } catch (CoreException e) { // something went wrong } diff --git a/core/org.eclipse.cdt.ui/icons/full/obj16/unknown_obj.gif b/core/org.eclipse.cdt.ui/icons/full/obj16/unknown_obj.gif new file mode 100644 index 00000000000..c0058f761e7 Binary files /dev/null and b/core/org.eclipse.cdt.ui/icons/full/obj16/unknown_obj.gif differ