diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java index 5f01eccf4a58..40377afb9539 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfo.java @@ -1362,7 +1362,9 @@ public class HighlightInfo implements Segment { } List newPairs = ContainerUtil.map(pairs, desc -> { Future> future = desc.future(); - if (future == null) { + if (future == null || !future.isDone()) { + // if the existing fixture computation is not ready yet + // it's under another progress and cancellation won't work Consumer computer = desc.fixesComputer(); future = CompletableFuture.completedFuture(doComputeLazyQuickFixes(document, psiFile.getProject(), desc.psiModificationStamp(), computer)); return new LazyFixDescription(computer, desc.psiModificationStamp(), future);