Bug 61509 [Preferences] Preferences.OK should be in a SafeRunnable.
1. I downloaded the latest integration build (200405060200) 2. Updated to org.eclipse.jdt.cheetah04 (0.0.4). 3. Upon restart, I imported a .java file with generic class and generic methods, to test generic usage in Eclipse. 4. I went into the preferences menu, and selected Java/Compiler. On the Compliance and Classfiles page I chose Compiler compliance level: 1.5. I pressed the "Apply" button and the "OK" button is immediatly highlighted. I press the "OK" button and the button lights up as if the command is recieved but does nothing (preference pane remains open). The only way to exit is to press the "Cancel" button or to close the window. Expected Results: Expected source to recompile file and remove source errors. Actual Results: Forced to close preference window, applying source change to 1.5 has no effect.
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
/**
	 * Changes the shell size to the given size, ensuring that it is no larger
	 * than the display bounds.
	 * 
	 * @param width
	 *            the shell width
	 * @param height
	 *            the shell height
	 */
	private void setShellSize(int width, int height) {
		Rectangle preferred = getShell().getBounds();
		preferred.width = width;
		preferred.height = height;
		getShell().setBounds(getConstrainedShellBounds(preferred));
	}
	/**
	 * Shows the preference page corresponding to the given preference node.
	 * Does nothing if that page is already current.
	 * 
	 * @param node
	 *            the preference node, or <code>null</code> if none
	 * @return <code>true</code> if the page flip was successful, and
	 *         <code>false</code> is unsuccessful
	 */
	protected boolean showPage(IPreferenceNode node) {
		if (node == null)
			return false;
		
		if (node.getPage() == null)
			node.createPage();