Bug 279553 [FieldAssist] ControlDecoration strange behavior when description text is empty string
Build ID: 3.5RC3 With the following simple code, when I hover over the control decoration, a huge yellow box quickly flashes on the screen and then disappears. I also tried on 3.4.2 and observed the same behavior. Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout(1, false)); Text t = new Text(shell, SWT.BORDER); t.setText("hover on decoration ->"); ControlDecoration decoration = new ControlDecoration(t, SWT.RIGHT); decoration.setImage(FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getImage()); decoration.setDescriptionText(""); shell.pack(); shell.open(); while (!isInterrupted() && !shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ControlDecoration.java
*         decoration.
	 */
	public int getMarginWidth() {
		return marginWidth;
	}
	/**
	 * Set the margin width in pixels that should be used between the decorator
	 * and the horizontal edge of the control. The default value of this setting
	 * is <code>0</code>.
	 * 
	 * @param marginWidth
	 *            the number of pixels that should be reserved between the
	 *            horizontal edge of the control and the adjacent edge of the
	 *            decoration.
	 */
	public void setMarginWidth(int marginWidth) {
		previousDecorationRectangle = getDecorationRectangle(control.getShell());
		this.marginWidth = marginWidth;
		update();
	}
	/**
	 * Something has changed, requiring redraw. Redraw the decoration and update
	 * the hover text if appropriate.
	 */
	protected void update() {
		if (control == null || control.isDisposed()) {
			return;
		}
		Rectangle rect = getDecorationRectangle(control.getShell());