diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/MorphAction.java b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/MorphAction.java index 3737eb3dc451..80579d3a0e01 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/MorphAction.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/MorphAction.java @@ -45,7 +45,6 @@ import com.intellij.util.IncorrectOperationException; import com.intellij.util.Processor; import org.jetbrains.annotations.NotNull; -import javax.swing.*; import java.util.ArrayList; import java.util.List; @@ -64,20 +63,14 @@ public class MorphAction extends AbstractGuiEditorAction { protected void actionPerformed(final GuiEditor editor, final List selection, final AnActionEvent e) { Processor processor = new Processor() { public boolean process(final ComponentItem selectedValue) { - SwingUtilities.invokeLater(new Runnable() { - public void run() { - Runnable runnable = new Runnable() { - public void run() { - for(RadComponent c: selection) { - if (!morphComponent(editor, c, selectedValue)) break; - } - editor.refreshAndSave(true); - } - }; - CommandProcessor.getInstance().executeCommand(editor.getProject(), runnable, UIDesignerBundle.message("morph.component.command"), null); - editor.getGlassLayer().requestFocus(); + Runnable runnable = () -> { + for(RadComponent c: selection) { + if (!morphComponent(editor, c, selectedValue)) break; } - }); + editor.refreshAndSave(true); + }; + CommandProcessor.getInstance().executeCommand(editor.getProject(), runnable, UIDesignerBundle.message("morph.component.command"), null); + editor.getGlassLayer().requestFocus(); return true; } }; diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PaletteListPopupStep.java b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PaletteListPopupStep.java index c0917101db7b..cd784537aeee 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PaletteListPopupStep.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PaletteListPopupStep.java @@ -41,6 +41,7 @@ class PaletteListPopupStep implements ListPopupStep, SpeedSearchF private final Processor myRunnable; private final String myTitle; private final Project myProject; + private Runnable myFinalRunnable; PaletteListPopupStep(GuiEditor editor, ComponentItem initialSelection, final Processor runnable, final String title) { myInitialSelection = initialSelection; @@ -93,12 +94,12 @@ class PaletteListPopupStep implements ListPopupStep, SpeedSearchF } public PopupStep onChosen(final ComponentItem selectedValue, final boolean finalChoice) { - myRunnable.process(selectedValue); + myFinalRunnable = () -> myRunnable.process(selectedValue); return PopupStep.FINAL_CHOICE; } public Runnable getFinalRunnable() { - return null; + return myFinalRunnable; } public boolean hasSubstep(final ComponentItem selectedValue) {