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 3b1377f6151c..217b19491e0f 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java @@ -66,6 +66,8 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.*; +import static com.intellij.openapi.actionSystem.impl.Utils.getOrCreateUpdateSession; + public final class PreviewFormAction extends AnAction{ private static final Logger LOG = Logger.getInstance(PreviewFormAction.class); @@ -104,7 +106,8 @@ public final class PreviewFormAction extends AnAction{ @Override public void update(@NotNull final AnActionEvent e) { - final GuiEditor editor = FormEditingUtil.getActiveEditor(e.getDataContext()); + GuiEditor editor = getOrCreateUpdateSession(e).compute(this, "getEditor", ActionUpdateThread.EDT, + () -> FormEditingUtil.getActiveEditor(e.getDataContext())); if(editor == null){ e.getPresentation().setVisible(false); @@ -120,7 +123,7 @@ public final class PreviewFormAction extends AnAction{ @Override public @NotNull ActionUpdateThread getActionUpdateThread() { - return ActionUpdateThread.EDT; + return ActionUpdateThread.BGT ; } private static void showPreviewFrame(@NotNull final Module module, @NotNull final VirtualFile formFile,