Bug 97264 [implementation][preferences] Preferences not stored correctly
build rc1 LinkedModeConfigurationBlock#performOk has the following code: Platform.getPreferencesService().getRootNode().node(EditorsUI.PLUGIN_ID).flush(); This is incorrect and the preferences will not actually be stored in this case. The first node under the root is the scope (instance, project, configuration, default) and then the plug-in id is next. If the intention is to store the settings in the instance scope, then you can do the following: Platform.getPreferencesService().getRootNode().node(InstanceScope.SCOPE).node(EditorsUI.PLUGIN_ID).flush(); or equivalently: new InstanceScope().getNode(EditorsUI.PLUGIN_ID).flush();
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/LinkedModeConfigurationBlock.java
public String getText(Object element) {
			return ((ListItem) element).label;
		}
	}
	
	private static class ArrayLabelProvider extends LabelProvider {
		public String getText(Object element) {
			return ((String[]) element)[0].toString();
		}
	}
	
	final static String[] HIGHLIGHT= new String[] {PreferencesMessages.LinkedModeConfigurationBlock_HIGHLIGHT, "unused"};  
	final static String[] UNDERLINE= new String[] {PreferencesMessages.LinkedModeConfigurationBlock_UNDERLINE, AnnotationPreference.STYLE_UNDERLINE}; 
	final static String[] BOX= new String[] {PreferencesMessages.LinkedModeConfigurationBlock_BOX, AnnotationPreference.STYLE_BOX}; 
	final static String[] IBEAM= new String[] {PreferencesMessages.LinkedModeConfigurationBlock_IBEAM, AnnotationPreference.STYLE_IBEAM}; 
	final static String[] SQUIGGLES= new String[] {PreferencesMessages.LinkedModeConfigurationBlock_SQUIGGLES, AnnotationPreference.STYLE_SQUIGGLES}; 
	private ColorSelector fAnnotationForegroundColorEditor;
	private Button fShowInTextCheckBox;
	
	private StructuredViewer fAnnotationTypeViewer;
	private final ListItem[] fListModel;
	private ComboViewer fDecorationViewer;
	private FontMetrics fFontMetrics;