mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
merge markDirty requests and don't schedule one if nothing is to me marked dirty
This commit is contained in:
+16
-4
@@ -66,8 +66,14 @@ public class VcsDirtyScopeVfsListener implements BulkFileListener, Disposable {
|
||||
myQueue.clear();
|
||||
}
|
||||
|
||||
HashSet<FilePath> dirtyFiles = ContainerUtil.newHashSet();
|
||||
HashSet<FilePath> dirtyDirs = ContainerUtil.newHashSet();
|
||||
for (FilesAndDirs filesAndDirs : list) {
|
||||
dirtyScopeManager.filePathsDirty(filesAndDirs.dirtyFiles, filesAndDirs.dirtyDirs);
|
||||
dirtyFiles.addAll(filesAndDirs.dirtyFiles);
|
||||
dirtyDirs.addAll(filesAndDirs.dirtyDirs);
|
||||
}
|
||||
if (!dirtyFiles.isEmpty() || !dirtyDirs.isEmpty()) {
|
||||
dirtyScopeManager.filePathsDirty(dirtyFiles, dirtyDirs);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -156,10 +162,12 @@ public class VcsDirtyScopeVfsListener implements BulkFileListener, Disposable {
|
||||
}
|
||||
|
||||
private void markDirtyOnPooled(@NotNull FilesAndDirs dirtyFilesAndDirs) {
|
||||
synchronized (myLock) {
|
||||
myQueue.add(dirtyFilesAndDirs);
|
||||
if (!dirtyFilesAndDirs.isEmpty()) {
|
||||
synchronized (myLock) {
|
||||
myQueue.add(dirtyFilesAndDirs);
|
||||
}
|
||||
myZipperUpdater.request();
|
||||
}
|
||||
myZipperUpdater.request();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -190,5 +198,9 @@ public class VcsDirtyScopeVfsListener implements BulkFileListener, Disposable {
|
||||
private void addToFiles(@Nullable VirtualFile file) {
|
||||
add(file, true);
|
||||
}
|
||||
|
||||
private boolean isEmpty() {
|
||||
return dirtyFiles.isEmpty() && dirtyDirs.isEmpty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user