if (lineHeight != oldLineHeight) { setVerticalScrollOffset(verticalScrollOffset * lineHeight / oldLineHeight, true);
if (isFixedLineHeight() && lineHeight != oldLineHeight) { int vscroll = (verticalScrollOffset * lineHeight / oldLineHeight) - verticalScrollOffset; scrollVertical(vscroll, true);
public void setFont(Font font) {	checkWidget();	int oldLineHeight = lineHeight;	super.setFont(font);		initializeRenderer();	// keep the same top line visible. fixes 5815	if (lineHeight != oldLineHeight) {		setVerticalScrollOffset(verticalScrollOffset * lineHeight / oldLineHeight, true);		claimBottomFreeSpace();	}	calculateContentWidth();	calculateScrollBars();	if (isBidiCaret()) createCaretBitmaps();	caretDirection = SWT.NULL;	// always set the caret location. Fixes 6685	setCaretLocation();	super.redraw();}