Bug 579294: NPE in TextViewer.computeSelection

fTextWidget can be null at line 2525

Change-Id: I460e7d881f24a8f10926b26e6b50d299d0dfa87a
Signed-off-by: Denis Ungemach <denis.ungemach@sap.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.text/+/191989
Reviewed-by: Tobias Melcher <tobias.melcher@sap.com>
Reviewed-by: Sebastian Ratz <sebastian.ratz@sap.com>
Tested-by: Platform Bot <platform-bot@eclipse.org>
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
index 60c174a..eef1d5b 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
@@ -2522,6 +2522,10 @@
 		if (!redraws() && fViewerState != null) {
 			return toSelection(Arrays.stream(fViewerState.getSelection()).map(point -> new Region(point.x, point.y)).toArray(IRegion[]::new));
 		}
+
+		if (fTextWidget == null)
+			return TextSelection.emptySelection();
+
 		int[] ranges= fTextWidget.getSelectionRanges();
 		IRegion[] selectedRanges= new IRegion[ranges.length / 2];
 		for (int i= 0; i < selectedRanges.length; i++) {