Bug 170827 ControlDecoration uses the wrong GC method to render text
The constructor of the Hover in ControlDecoration: hoverShell.addPaintListener(new PaintListener() { public void paintControl(PaintEvent pe) { pe.gc.drawString(text, hm, hm); if (!CARBON) { pe.gc.drawPolygon(getPolygon(true)); } } }); The size of the hover is correctly performed when there are carriage returns in the text. However, the text is painted as String. This causes only the first line to be painted and the rest of the hover is empty. The fix is to use GC.drawText' instead.
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ControlDecoration.java
*/
	private String descriptionText;
	/**
	 * The position of the decoration.
	 */
	private int position;
	/**
	 * The decoration's visibility flag
	 */
	private boolean visible = true;
	/**
	 * Boolean indicating whether the decoration should only be shown when the
	 * control has focus
	 */
	private boolean showOnlyOnFocus = false;
	/**
	 * Boolean indicating whether the decoration should show its description
	 * text in a hover when the user hovers over the decoration.
	 */
	private boolean showHover = true;
	/**
	 * Margin width used between the decorator and the control.
	 */
	private int marginWidth = 0;
	/**
	 * The focus listener
	 */
	private FocusListener focusListener;
	/**
	 * The dispose listener