if (newLastLineBottom == lastLineBottom) { update(); }
void handleTextChanged(TextChangedEvent event) {	int firstLine = content.getLineAtOffset(lastTextChangeStart);	resetCache(firstLine, 0);	int lastLine = firstLine + lastTextChangeNewLineCount;	int firstLineTop = getLinePixel(firstLine);	int newLastLineBottom = getLinePixel(lastLine + 1);	scrollText(lastLineBottom, newLastLineBottom);	super.redraw(0, firstLineTop, clientAreaWidth, newLastLineBottom - firstLineTop, false);	// update selection/caret location after styles have been changed.	// otherwise any text measuring could be incorrect	// 	// also, this needs to be done after all scrolling. Otherwise, 	// selection redraw would be flushed during scroll which is wrong.	// in some cases new text would be drawn in scroll source area even 	// though the intent is to scroll it.	updateSelection(lastTextChangeStart, lastTextChangeReplaceCharCount, lastTextChangeNewCharCount);	if (newLastLineBottom == lastLineBottom) {		update();	}	if (lastTextChangeReplaceLineCount > 0 || wordWrap) {		claimBottomFreeSpace();	}	if (lastTextChangeReplaceCharCount > 0) {		claimRightFreeSpace();	}}