From c5f0f85be063feef7dfd3c9197775defc6fdf02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B6rn=20Svensson?= Date: Mon, 11 Apr 2022 20:36:35 +0200 Subject: [PATCH] Avoid NPE and redrawing disposed widget MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contributed by STMicroelectronics Change-Id: I753844ff035bc6b3511c1e283e80e37bd547b6e7 Signed-off-by: Torbjörn Svensson --- .../cdt/internal/ui/buildconsole/BuildConsoleManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java index ce703f2d1f7..9e1dc20db17 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java @@ -46,6 +46,7 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IDocumentPartitioner; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; @@ -409,7 +410,12 @@ public class BuildConsoleManager implements IBuildConsoleManager, IResourceChang if (v == null) return; Display display = Display.getDefault(); - display.asyncExec(() -> v.getTextWidget().redraw()); + display.asyncExec(() -> { + StyledText widget = v.getTextWidget(); + if (widget != null && !widget.isDisposed()) { + widget.redraw(); + } + }); } public IBuildConsoleStreamDecorator getStreamDecorator(int type) throws CoreException {