diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java index 388dcb62e816..23697196e7b8 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java @@ -29,7 +29,6 @@ import com.intellij.lang.properties.PropertiesReferenceManager; import com.intellij.lang.properties.psi.PropertiesFile; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.compiler.CompileContext; import com.intellij.openapi.compiler.CompileStatusNotification; @@ -87,7 +86,7 @@ public final class PreviewFormAction extends AnAction{ public void actionPerformed(final AnActionEvent e) { final GuiEditor editor = FormEditingUtil.getActiveEditor(e.getDataContext()); if (editor != null) { - showPreviewFrame(editor.getModule(), editor.getFile(), e.getDataContext(), editor.getStringDescriptorLocale()); + showPreviewFrame(editor.getModule(), editor.getFile(), editor.getStringDescriptorLocale()); } } @@ -107,7 +106,7 @@ public final class PreviewFormAction extends AnAction{ } private static void showPreviewFrame(@NotNull final Module module, @NotNull final VirtualFile formFile, - final DataContext dataContext, @Nullable final Locale stringDescriptorLocale) { + @Nullable final Locale stringDescriptorLocale) { final String tempPath; try { final File tempDirectory = FileUtil.createTempDirectory("FormPreview", ""); @@ -222,21 +221,24 @@ public final class PreviewFormAction extends AnAction{ for(String bundleName: bundleSet) { for(PropertiesFile propFile: manager.findPropertiesFiles(module, bundleName)) { virtualFiles.add(propFile.getVirtualFile()); - modules.add(ModuleUtil.findModuleForFile(propFile.getVirtualFile(), module.getProject())); + final Module moduleForFile = ModuleUtil.findModuleForFile(propFile.getVirtualFile(), module.getProject()); + if (moduleForFile != null) { + modules.add(moduleForFile); + } } } - FileSetCompileScope scope = new FileSetCompileScope(virtualFiles, modules.toArray(new Module[]{})); + FileSetCompileScope scope = new FileSetCompileScope(virtualFiles, modules.toArray(new Module[modules.size()])); CompilerManager.getInstance(module.getProject()).make(scope, new CompileStatusNotification() { public void finished(boolean aborted, int errors, int warnings, final CompileContext compileContext) { if (!aborted && errors == 0) { - runPreviewProcess(tempPath, sources, module, formFile, dataContext, stringDescriptorLocale); + runPreviewProcess(tempPath, sources, module, formFile, stringDescriptorLocale); } } }); } else { - runPreviewProcess(tempPath, sources, module, formFile, dataContext, stringDescriptorLocale); + runPreviewProcess(tempPath, sources, module, formFile, stringDescriptorLocale); } } @@ -259,7 +261,7 @@ public final class PreviewFormAction extends AnAction{ } private static void runPreviewProcess(final String tempPath, final PathsList sources, final Module module, final VirtualFile formFile, - final DataContext dataContext, @Nullable final Locale stringDescriptorLocale) { + @Nullable final Locale stringDescriptorLocale) { // 3. Now we are ready to launch Java process final JavaParameters parameters = new JavaParameters(); parameters.getClassPath().add(tempPath);