From 4784e317ae2a689135a3eb96e832c2463b52ad77 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Thu, 11 Jul 2013 16:18:21 +0200 Subject: [PATCH 1/2] return nonvalid file content when processing nonvalid file --- .../com/intellij/openapi/project/FileContentQueue.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/project/FileContentQueue.java b/platform/platform-impl/src/com/intellij/openapi/project/FileContentQueue.java index ce1c601fe102..7c2fc2b3193e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/FileContentQueue.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/FileContentQueue.java @@ -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 From ca66c1c79098bfc47a400f303077cd36d6888f33 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 11 Jul 2013 16:23:36 +0200 Subject: [PATCH 2/2] support DefineButton, DefineButton2, DefineMorphShape and DefineMorphShape2 IDEA-104608 Flash UI Designer Preview Not Working --- .../intellij/openapi/vfs/DeprecatedVirtualFileSystem.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/platform/core-api/src/com/intellij/openapi/vfs/DeprecatedVirtualFileSystem.java b/platform/core-api/src/com/intellij/openapi/vfs/DeprecatedVirtualFileSystem.java index 2d88f09cd829..680facb3290c 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/DeprecatedVirtualFileSystem.java +++ b/platform/core-api/src/com/intellij/openapi/vfs/DeprecatedVirtualFileSystem.java @@ -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 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)); }