diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/VisibleLinesTracker.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/VisibleLinesTracker.java index ed3fd83e460..0941adfa11b 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/VisibleLinesTracker.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/VisibleLinesTracker.java @@ -91,7 +91,7 @@ private Map getVisibleLineBounds() { */ static void track(ITextViewer viewer, Consumer handler) { StyledText textWidget= viewer != null ? viewer.getTextWidget() : null; - if (textWidget == null) { + if (textWidget == null || textWidget.isDisposed()) { return; } VisibleLinesTracker tracker= (VisibleLinesTracker) textWidget.getData(DATA_KEY); @@ -111,7 +111,7 @@ static void track(ITextViewer viewer, Consumer handler) { */ static void untrack(ITextViewer viewer, Consumer handler) { StyledText textWidget= viewer != null ? viewer.getTextWidget() : null; - if (textWidget == null) { + if (textWidget == null || textWidget.isDisposed()) { return; } VisibleLinesTracker tracker= (VisibleLinesTracker) textWidget.getData(DATA_KEY);