Bug 94367 cannot clear compiler compliance setting at the project level
i200505092010 Cannot disable the Java compiler project-specific preferences for some projects. Steps to reproduce: 1 - check out from CVS a Java project that has project-specific Java compiler settings enabled (example: org.eclipse.core.runtime). 2 - open the properties dialog for the project, select the Java compiler node, disable project-specific Java compiler preferences. 3 - Commit the changes by pressing "Ok" and reopen the properties dialog. It looks like the settings were not saved (project-specific settings are still enabled).
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/OptionsConfigurationBlock.java
private boolean getChanges(IScopeContext currContext, boolean enabled, List changedSettings) {
		boolean needsBuild= false;
		for (int i= 0; i < fAllKeys.length; i++) {
			Key key= fAllKeys[i];
			String oldVal= key.getStoredValue(currContext, null);
			if (enabled) {
				String val= getValue(key);
				if (val != null && !val.equals(oldVal)) {
					changedSettings.add(new PropertyChange(key, oldVal, val));
					needsBuild |= (oldVal != null) || !val.equals(key.getStoredValue(fLookupOrder, true, fManager)); 
				}
			} else {
				String val= null; 
				if (oldVal != null) {
					changedSettings.add(new PropertyChange(key, oldVal, val));
					needsBuild |= !oldVal.equals(key.getStoredValue(fLookupOrder, true, fManager)); 
				}
			}
		}
		return needsBuild;
	}
	
	public boolean performOk(boolean enabled) {
		return processChanges(enabled, fContainer);
	}
	
	public boolean performApply(boolean enabled) {
		return processChanges(enabled, null); 
	}