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
messageArea.setMessageLayoutData(createMessageAreaData());
		return titleArea;
	}
	/**
	 * Create the layout data for the message area.
	 * @return FormData for the message area.
	 */
	private FormData createMessageAreaData() {
		FormData messageData = new FormData();
		messageData.top = new FormAttachment(0);
	    messageData.bottom = new FormAttachment(titleImage,0,SWT.BOTTOM);
		messageData.right = new FormAttachment(titleImage,0);
		messageData.left = new FormAttachment(0);
		return messageData;
	}
	/**
	 * @param parent the SWT parent for the tree area controls.
	 * @return the new <code>Control</code>.
	 * @since 3.0
	 */
	protected Control createTreeAreaContents(Composite parent) {
		
		treeViewer = createTreeViewer(parent);
		treeViewer.setInput(getPreferenceManager());
		layoutTreeAreaControl(treeViewer.getControl());
		return treeViewer.getControl();
	}
	/**
	 * Create a new <code>TreeViewer</code>.
	 * @param parent the parent <code>Composite</code>.