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++) {