From 761e36033e6bb1754368df7d81965b5dc6a34020 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 8 Sep 2015 18:20:00 +0200 Subject: [PATCH] allow bg dumb mode when associating file type from diff (EA-72563 - Throwable: DumbServiceImpl.scheduleCacheUpdate) --- .../requests/UnknownFileTypeDiffRequest.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java b/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java index 53d0c74e4226..03a21984ff2d 100644 --- a/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java +++ b/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java @@ -22,6 +22,8 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.fileTypes.UnknownFileType; import com.intellij.openapi.fileTypes.ex.FileTypeChooser; +import com.intellij.openapi.project.DumbModePermission; +import com.intellij.openapi.project.DumbService; import com.intellij.openapi.vcs.changes.issueLinks.LinkMouseListenerBase; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.SimpleColoredComponent; @@ -46,11 +48,6 @@ public class UnknownFileTypeDiffRequest extends ComponentDiffRequest { myTitle = title; } - public UnknownFileTypeDiffRequest(@Nullable String title) { - myFileName = null; - myTitle = title; - } - @NotNull @Override public JComponent getComponent(@NotNull final DiffContext context) { @@ -61,8 +58,13 @@ public class UnknownFileTypeDiffRequest extends ComponentDiffRequest { label.append("Associate", SimpleTextAttributes.LINK_ATTRIBUTES, new Runnable() { @Override public void run() { - FileType type = FileTypeChooser.associateFileType(myFileName); - if (type != null) onSuccess(context); + DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { + @Override + public void run() { + FileType type = FileTypeChooser.associateFileType(myFileName); + if (type != null) onSuccess(context); + } + }); } }); LinkMouseListenerBase.installSingleTagOn(label);