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
else
						getPreferenceStore().setValue(item.textKey, true);
				} else {
					
					getPreferenceStore().setValue(item.textKey, false);
					getPreferenceStore().setValue(item.highlightKey, false);
				}
				getPreferenceStore().setValue(item.textKey, value);
				updateDecorationViewer(item, false);
			}
		});
		
		foregroundColorButton.addSelectionListener(new SelectionListener() {
			public void widgetDefaultSelected(SelectionEvent e) {
				
			}
			
			public void widgetSelected(SelectionEvent e) {
				ListItem item= getSelectedItem();
				PreferenceConverter.setValue(getPreferenceStore(), item.colorKey, fAnnotationForegroundColorEditor.getColorValue());
			}
		});
		
		fDecorationViewer.addSelectionChangedListener(new ISelectionChangedListener() {
			/*
			 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
			 */
			public void selectionChanged(SelectionChangedEvent event) {
				String[] decoration= (String[]) ((IStructuredSelection) fDecorationViewer.getSelection()).getFirstElement();
				ListItem item= getSelectedItem();