1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Bug 133881 - Make refreshing after building optional

Fix ConcurrentModificationException in clearExclusionsForProject()
This commit is contained in:
Chris Recoskie 2011-05-02 19:34:51 +00:00
parent f88c1e14b6
commit dff7d999fc

View file

@ -538,19 +538,25 @@ public class RefreshScopeManager {
fResourceToExclusionsMap.put(resource, exclusions); fResourceToExclusionsMap.put(resource, exclusions);
} }
public void clearAllExclusions() { public synchronized void clearAllExclusions() {
if(fResourceToExclusionsMap != null) if(fResourceToExclusionsMap != null)
fResourceToExclusionsMap.clear(); fResourceToExclusionsMap.clear();
} }
public synchronized void clearExclusionsForProject(IProject project) { public synchronized void clearExclusionsForProject(IProject project) {
getResourcesToExclusionsMap(); getResourcesToExclusionsMap();
List<IResource> resourcesToRemove = new LinkedList<IResource>();
for(IResource resource : fResourceToExclusionsMap.keySet()) { for(IResource resource : fResourceToExclusionsMap.keySet()) {
IProject project2 = resource.getProject(); IProject project2 = resource.getProject();
if(project2.equals(project)) { if(project2.equals(project)) {
fResourceToExclusionsMap.remove(resource); resourcesToRemove.add(resource);
} }
} }
for(IResource resource : resourcesToRemove) {
fResourceToExclusionsMap.remove(resource);
}
} }
private synchronized void clearDataForProject(IProject project) { private synchronized void clearDataForProject(IProject project) {