diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java index 8a30863df4e..baf2c03ab69 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java @@ -90,12 +90,12 @@ public class RefreshPolicyTab extends AbstractCPropertyTab { } private void loadInfo() { - fResourcesToRefresh = fManager.getResourcesToRefresh(fProject); + fResourcesToRefresh = new LinkedList(fManager.getResourcesToRefresh(fProject)); if (fResourcesToRefresh != null) { Iterator iterator = fResourcesToRefresh.iterator(); while (iterator.hasNext()) { IResource resource = iterator.next(); - fResourceToExclusionsMap.put(resource, fManager.getExclusions(resource)); + fResourceToExclusionsMap.put(resource, new LinkedList(fManager.getExclusions(resource))); } } } @@ -302,7 +302,11 @@ public class RefreshPolicyTab extends AbstractCPropertyTab { public void remove() { parent.exclusion.removeExclusionInstance(instance); - parent.exclusion_instances.remove(this); + parent.exclusion_instances.remove(this); + + if (parent.exclusion_instances.size() < 1 && parent.exceptions_node == null) { + parent.remove(); + } } }