From b67e674ab5ff2381ae244389212bea9a64793898 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Fri, 17 Feb 2017 13:03:54 +0300 Subject: [PATCH] SQL editor shutdown fix --- .../ui/editors/text/ScriptPositionColumn.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/ScriptPositionColumn.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/ScriptPositionColumn.java index e282a934d0..acd5029d30 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/ScriptPositionColumn.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/ScriptPositionColumn.java @@ -27,6 +27,7 @@ import org.eclipse.ui.progress.UIJob; import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.ui.texteditor.rulers.IContributedRulerColumn; import org.eclipse.ui.texteditor.rulers.RulerColumnDescriptor; +import org.jkiss.dbeaver.core.DBeaverCore; import org.jkiss.dbeaver.ui.DBeaverIcons; import org.jkiss.dbeaver.ui.UIIcon; import org.jkiss.utils.ArrayUtils; @@ -85,14 +86,19 @@ public class ScriptPositionColumn extends AbstractRulerColumn implements IContri @Override public IStatus runInUIThread(IProgressMonitor monitor) { + if (DBeaverCore.isClosing()) { + return Status.CANCEL_STATUS; + } BaseTextEditor editor = (BaseTextEditor)getEditor(); if (editor == null || editor.getTextViewer() == null) return Status.CANCEL_STATUS; StyledText textWidget = editor.getTextViewer().getTextWidget(); if (textWidget == null || textWidget.isDisposed()) return Status.CANCEL_STATUS; - int[] newCurrentLines = editor.getCurrentLines(); - if (!Arrays.equals(newCurrentLines, currentLines) && textWidget.isVisible()) { - currentLines = newCurrentLines; - redraw(); + if (textWidget.isVisible()) { + int[] newCurrentLines = editor.getCurrentLines(); + if (!Arrays.equals(newCurrentLines, currentLines)) { + currentLines = newCurrentLines; + redraw(); + } } if (visible) { schedule(100); -- GitLab