Bug 38547 [Preferences] Changing preferences ignored after "Restore defaults" pressed.
e.g. 1) Go to Workbench->Preferences->Debug->Console 2) Change the colour of console output (you can show the console and see the colour change) and press "Apply" <don't leave the dialog> 3) Press "Restore Defaults" and "Apply" and the colour will be reset to default in the console 4) Now change the colour to something else and press "Apply" ... NO Change to the console colour. The problem can be seen in the PropertyChangeEvent that always contains the default values because once the "Restore Defaults" flag has been set it is never reset and therefore the "Apply" always sends the defaults.
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditorPreferencePage.java
for (int i = 0; i < fields.size(); i++){
			FieldEditor fieldEditor = (FieldEditor)fields.get(i);
			fieldEditor.adjustForNumColumns(numColumns);
		}
	}
}
/**
 * Applys the font to the field editors managed by this page.
 */
protected void applyFont() {
	if (fields != null) {
		Iterator e = fields.iterator();
		while (e.hasNext()) {
			FieldEditor pe = (FieldEditor) e.next();
			pe.applyFont();
		}
	}
}
/**
 * Calculates the number of columns needed to host all field editors.
 *
 * @return the number of columns
 */
private int calcNumberOfColumns() {
	int result = 0;
	if (fields != null) {
		Iterator e = fields.iterator();
		while (e.hasNext()) {
			FieldEditor pe = (FieldEditor) e.next();
			result = Math.max(result, pe.getNumberOfControls());