Merge remote-tracking branch 'origin/master'

This commit is contained in:
Konstantin Bulenkov
2013-07-11 16:55:37 +02:00
2 changed files with 12 additions and 5 deletions
@@ -19,6 +19,7 @@
*/
package com.intellij.openapi.vfs;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter;
import com.intellij.util.EventDispatcher;
@@ -29,7 +30,12 @@ public abstract class DeprecatedVirtualFileSystem extends VirtualFileSystem {
private final EventDispatcher<VirtualFileListener> myEventDispatcher = EventDispatcher.create(VirtualFileListener.class);
protected void startEventPropagation() {
ApplicationManager.getApplication().getMessageBus().connect().subscribe(
Application application = ApplicationManager.getApplication();
if (application == null) {
return;
}
application.getMessageBus().connect().subscribe(
VirtualFileManager.VFS_CHANGES, new BulkVirtualFileListenerAdapter(myEventDispatcher.getMulticaster(), this));
}
@@ -206,12 +206,11 @@ public class FileContentQueue {
result = myLoadedContentsQueue.poll();
if (result == null) {
VirtualFile virtualFileToLoad = myFilesToLoadQueue.poll();
while (virtualFileToLoad != null) {
if (virtualFileToLoad != null) {
FileContent content = new FileContent(virtualFileToLoad);
if (isValidFile(virtualFileToLoad)) {
FileContent content = new FileContent(virtualFileToLoad);
try {
content.getBytes();
return content;
} catch (Throwable t) {
if (t instanceof IOException || t instanceof InvalidVirtualFileAccessException) {
LOG.info(t);
@@ -219,8 +218,10 @@ public class FileContentQueue {
LOG.error(t);
}
}
} else {
content.setEmptyContent();
}
virtualFileToLoad = myFilesToLoadQueue.poll();
return content;
}
// take last content which is loaded by another thread