summaryrefslogtreecommitdiff
path: root/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java
diff options
context:
space:
mode:
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.java15
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) {