From 0a59e9e3a325ddf415e007b110f5393f42486036 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 5 Jan 2018 11:59:49 +0100 Subject: [PATCH] don't let accidental PCE during spoil code insight for the entire session (IDEA-184549) --- java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java b/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java index 3dd86d0b1aaf..07383c44d636 100644 --- a/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java +++ b/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java @@ -18,8 +18,10 @@ package com.intellij.psi.jsp; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.roots.OrderEnumerator; +import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.JarFileSystem; import com.intellij.openapi.vfs.VirtualFile; @@ -52,7 +54,11 @@ public abstract class JspSpiUtil { @Nullable private static JspSpiUtil getJspSpiUtil() { - return ServiceManager.getService(JspSpiUtil.class); + Ref result = Ref.create(); + ProgressManager.getInstance().executeNonCancelableSection(() -> { + result.set(ServiceManager.getService(JspSpiUtil.class)); + }); + return result.get(); } public static int escapeCharsInJspContext(JspFile file, int offset, String toEscape) throws IncorrectOperationException {