diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java index aa73e8ecd74..93d4fd2c341 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java @@ -10879,10 +10879,12 @@ public static void updateAndRefreshCarets(StyledText styledText, Consumer Set caretSet = new HashSet<>(); caretSet.add(styledText.getCaret()); caretSet.add(styledText.defaultCaret); - for (Caret caret : styledText.carets) { - caretSet.add(caret); + if (styledText.carets != null) { + for (Caret caret : styledText.carets) { + caretSet.add(caret); + } } - caretSet.forEach(caretUpdater); + caretSet.stream().filter(Objects::nonNull).forEach(caretUpdater); styledText.updateCaretVisibility(); styledText.setCaretLocations();