From 32c292c8e92dcbc38ec8dd8e2a3e52d4533fd045 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Sat, 20 Mar 2021 01:35:31 +0100 Subject: [PATCH] EA-257558 (plugin) - PCE: AbstractProgressIndicatorBase.throwIfCanceled GitOrigin-RevId: 1a1ea7abef050b4658be5e97f3fd508d834f2b72 --- .../com/intellij/ide/scratch/ScratchFileServiceImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java b/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java index 8e9fd85708b5..118656154112 100644 --- a/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java @@ -24,6 +24,7 @@ import com.intellij.openapi.fileEditor.FileEditorManagerListener; import com.intellij.openapi.fileEditor.impl.EditorTabTitleProvider; import com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessExtension; import com.intellij.openapi.fileTypes.*; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; @@ -224,9 +225,11 @@ public final class ScratchFileServiceImpl extends ScratchFileService implements @Override public @Nullable FileType detect(@NotNull VirtualFile file, @NotNull ByteSequence firstBytes, @Nullable CharSequence firstCharsIfText) { if (firstCharsIfText == null) return null; - FileType byName = FileTypeManager.getInstance().getFileTypeByFileName(file.getName()); - RootType rootType = byName != UnknownFileType.INSTANCE ? null : findRootType(file); - return rootType != null ? PlainTextFileType.INSTANCE : null; + return ProgressManager.getInstance().computeInNonCancelableSection(() -> { + FileType byName = FileTypeManager.getInstance().getFileTypeByFileName(file.getName()); + RootType rootType = byName != UnknownFileType.INSTANCE ? null : findRootType(file); + return rootType != null ? PlainTextFileType.INSTANCE : null; + }); } }