diff options
Diffstat (limited to 'java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java')
-rw-r--r-- | java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index c32d9ecda313..03ff006eea40 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -28,6 +28,7 @@ import com.intellij.execution.process.*; import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.ide.DataManager; import com.intellij.ide.PowerSaveMode; +import com.intellij.ide.file.BatchFileChangeListener; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.application.Application; @@ -246,7 +247,13 @@ public class BuildManager implements ApplicationComponent{ for (VFileEvent event : events) { final VirtualFile eventFile = event.getFile(); - if (eventFile == null || ProjectCoreUtil.isProjectOrWorkspaceFile(eventFile)) { + if (eventFile == null) { + continue; + } + if (!eventFile.isValid()) { + return true; // should be deleted + } + if (ProjectCoreUtil.isProjectOrWorkspaceFile(eventFile)) { continue; } @@ -268,6 +275,12 @@ public class BuildManager implements ApplicationComponent{ }); + conn.subscribe(BatchFileChangeListener.TOPIC, new BatchFileChangeListener.Adapter() { + public void batchChangeStarted(Project project) { + cancelAutoMakeTasks(project); + } + }); + EditorFactory.getInstance().getEventMulticaster().addDocumentListener(new DocumentAdapter() { @Override public void documentChanged(DocumentEvent e) { |