Bug 74171 [preferences] Pref page; Restore defaults does not reset error status correctly
Version: 3.1.0 Build id: 200409140800 @@@@ Window/Preferences/Java/Editor/Hovers Select "Variable Values" Enter "Ctrl" as its hover. Delete "Ctrl" in text area so that it is empty. Click on "Restore Defaults". Observe the error will still be there.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavaEditorHoverConfigurationBlock.java
TableLayout tableLayout= new TableLayout();
		fHoverTable.setLayout(tableLayout);
		fNameColumn= new TableColumn(fHoverTable, SWT.NONE);
		fNameColumn.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.nameColumnTitle")); 
		fNameColumn.setResizable(true);
		
		fModifierColumn= new TableColumn(fHoverTable, SWT.NONE);
		fModifierColumn.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.modifierColumnTitle")); 
		fModifierColumn.setResizable(true);
		fHoverTableViewer= new CheckboxTableViewer(fHoverTable);
		fHoverTableViewer.setUseHashlookup(true);
		fHoverTableViewer.setContentProvider(new JavaEditorTextHoverDescriptorContentProvider());
		fHoverTableViewer.setLabelProvider(new JavaEditorTextHoverDescriptorLabelProvider());
		
		((CheckboxTableViewer)fHoverTableViewer).addCheckStateListener(new ICheckStateListener() {
			/*
			 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
			 */
			public void checkStateChanged(CheckStateChangedEvent event) {
				String id= ((JavaEditorTextHoverDescriptor)event.getElement()).getId();
				if (id == null)
					return;
				JavaEditorTextHoverDescriptor[] descriptors= getContributedHovers();
				HoverConfig hoverConfig= null;
				int i= 0, length= fHoverConfigs.length;
				while (i < length) {
					if (id.equals(descriptors[i].getId())) {
						hoverConfig= fHoverConfigs[i];
						hoverConfig.fIsEnabled= event.getChecked();
						fModifierEditor.setEnabled(event.getChecked());