Bug 45811 [Dialogs] Problematic behavior of WorkbenchPreferenceDialog.setShellSize()
I20031023 MacOS X 10.3 - in Panther open Window > Preferences > Ant > Editor Observe: all hell breaks loose... I had to restart my machine and lost work! Two problems here: - a width of 12902 and a height of 16909 is passed to WorkbenchPreferenceDialog.setShellSize() (why this is the case needs further investigation) - however, JavaDoc of setShellSize states: "Changes the shell size to the given size, ensuring that it is no larger than the display bounds" the implementation is: private void setShellSize(int width, int height) { getShell().setSize(width, height); constrainShellSize(); } I think it doesn't make much sense to first set the Shell's size to a bogus value and then constrain its size to something sensible.
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
*  no current page
	*/
	protected boolean isCurrentPageValid() {
		if (currentPage == null)
			return true;
		else
			return currentPage.isValid();
	}
	/**
	 * @param control the <code>Control</code> to lay out.
	 * @since 3.0
	 */
	protected void layoutTreeAreaControl(Control control) {
		GridData gd = new GridData(GridData.FILL_VERTICAL);
		gd.widthHint = getLastTreeWidth();
		gd.verticalSpan = 1;
		control.setLayoutData(gd);
	}
	/**
	 * The preference dialog implementation of this <code>Dialog</code>
	 * framework method sends <code>performOk</code> to all pages of the 
	 * preference dialog, then calls <code>handleSave</code> on this dialog
	 * to save any state, and then calls <code>close</code> to close
	 * this dialog.
	 */
	protected void okPressed() {
		
		Iterator nodes = preferenceManager.getElements(PreferenceManager.PRE_ORDER).iterator();
		while (nodes.hasNext()) {
			IPreferenceNode node = (IPreferenceNode) nodes.next();