Java: Check that project isn't disposed when generating module-info files (IDEA-184148)

This commit is contained in:
Pavel Dolgov
2018-02-06 14:59:56 +03:00
parent 9a1dbafc62
commit 82d3c42827

View File

@@ -211,14 +211,18 @@ public class Java9GenerateModuleDescriptorsAction extends AnAction {
finally {
myProgressTracker.dispose();
}
createFilesLater(generatedCode);
}
ApplicationManager.getApplication().invokeLater(
() -> CommandProcessor.getInstance().executeCommand(
myProject, () ->
((ApplicationImpl)ApplicationManager.getApplication())
.runWriteActionWithCancellableProgressInDispatchThread(
COMMAND_TITLE, myProject, null,
indicator -> createFiles(myProject, generatedCode, indicator)), COMMAND_TITLE, null));
private void createFilesLater(List<GeneratedCode> generatedCode) {
ApplicationManager.getApplication().invokeLater(() -> {
if (!myProject.isDisposed()) {
CommandProcessor.getInstance().executeCommand(myProject, () ->
((ApplicationImpl)ApplicationManager.getApplication()).runWriteActionWithCancellableProgressInDispatchThread(
COMMAND_TITLE, myProject, null,
indicator -> createFiles(myProject, generatedCode, indicator)), COMMAND_TITLE, null);
}
});
}
private Map<String, Set<ModuleNode>> collectDependencies(THashMap<Module, List<File>> classFiles) {