indexing should be modal in root changes caused by refactorings to prevent deadlocks with import optimization (IDEA-162154)

This commit is contained in:
peter
2016-10-10 12:38:11 +02:00
parent 07e3ddc1df
commit ce7c601cf9
4 changed files with 4 additions and 5 deletions
@@ -30,7 +30,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ApplicationNamesInfo;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider;
import com.intellij.openapi.project.DumbModePermission;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
@@ -139,7 +138,7 @@ public class DeleteHandler {
dialog.close(DialogWrapper.OK_EXIT_CODE);
}, elements, dialog.isSearchInComments(), dialog.isSearchForTextOccurences(), true);
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, processor);
processor.run();
}
}) {
@Override
@@ -103,7 +103,7 @@ public class CopyFilesOrDirectoriesHandler extends CopyHandlerDelegateBase {
}
public static void copyAsFiles(PsiElement[] elements, @Nullable PsiDirectory defaultTargetDirectory, Project project) {
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () ->
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () ->
doCopyAsFiles(elements, defaultTargetDirectory, project));
}
@@ -238,7 +238,7 @@ public class MoveFilesOrDirectoriesDialog extends DialogWrapper {
@Override
public void show() {
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> super.show());
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> super.show());
}
}
@@ -202,7 +202,7 @@ public class SafeDeleteDialog extends DialogWrapper {
return;
}
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> NonProjectFileWritingAccessProvider.disableChecksDuring(() -> {
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> NonProjectFileWritingAccessProvider.disableChecksDuring(() -> {
if (myCallback != null && isSafeDelete()) {
myCallback.run(this);
}