diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java index 73b520ef3a5..2b500c5c4dd 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java @@ -2339,19 +2339,11 @@ public class Configuration extends BuildObject implements IConfiguration, IBuild } else { resetErrorParsers(); Set oldSet = contributeErrorParsers(null, true); - if(oldSet == null) - oldSet = new LinkedHashSet(); - LinkedHashSet newSet = new LinkedHashSet(); - newSet.addAll(Arrays.asList(ids)); - newSet.remove(null); - LinkedHashSet newCopy = (LinkedHashSet)newSet.clone(); - newSet.removeAll(oldSet); - oldSet.removeAll(newCopy); - Set removed = oldSet; - Set added = newSet; - - removeErrorParsers(removed); - setErrorParserAttribute((String[])added.toArray(new String[added.size()])); + if(oldSet != null) { + oldSet.removeAll(Arrays.asList(ids)); + removeErrorParsers(oldSet); + } + setErrorParserAttribute(ids); } }