From a4db800551173b4eee26464f376026c0b445824b Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 19 Jul 2017 18:01:34 +0200 Subject: [PATCH] handle project closing in ctrl+hover bg calculation (EA-104555) --- .../intellij/codeInsight/navigation/CtrlMouseHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java index 1cee6845db61..c2395ae2650f 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java @@ -828,6 +828,8 @@ public class CtrlMouseHandler extends AbstractProjectComponent { @Nullable private ReadTask.Continuation doExecute(@NotNull PsiFile file, int offset) { + if (isTaskOutdated()) return null; + final Info info; final DocInfo docInfo; try { @@ -842,11 +844,15 @@ public class CtrlMouseHandler extends AbstractProjectComponent { LOG.debug("Obtained info about element under cursor"); return new ReadTask.Continuation(() -> { - if (myDisposed || myEditor.isDisposed() || !myEditor.getComponent().isShowing()) return; + if (isTaskOutdated()) return; showHint(info, docInfo); }); } + private boolean isTaskOutdated() { + return myDisposed || myProject.isDisposed() || myEditor.isDisposed() || !myEditor.getComponent().isShowing(); + } + private void showHint(@NotNull Info info, @NotNull DocInfo docInfo) { if (myDisposed || myEditor.isDisposed()) return; Component internalComponent = myEditor.getContentComponent();