From b8d122582f23256eb959a20abb6ba86cd39d73ac Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Fri, 23 Mar 2012 22:00:50 +0400 Subject: [PATCH] Fix error with cut operation --- .../actions/CommonEditActionsProvider.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/actions/CommonEditActionsProvider.java b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/actions/CommonEditActionsProvider.java index 340cdb6bcd35..927ae68ee52f 100644 --- a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/actions/CommonEditActionsProvider.java +++ b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/actions/CommonEditActionsProvider.java @@ -142,21 +142,24 @@ public class CommonEditActionsProvider implements DeleteProvider, CopyProvider, } private boolean doCopy() { - return myDesigner.getToolProvider().execute(new ThrowableRunnable() { - @Override - public void run() throws Exception { - Element root = new Element("designer"); - root.setAttribute("target", myDesigner.getPlatformTarget()); + try { + Element root = new Element("designer"); + root.setAttribute("target", myDesigner.getPlatformTarget()); - List components = RadComponent.getPureSelection(myDesigner.getActionsArea().getSelection()); - for (RadComponent component : components) { - component.copyTo(root); - } - - SerializedComponentData data = new SerializedComponentData(new XMLOutputter().outputString(root)); - CopyPasteManager.getInstance().setContents(new SimpleTransferable(data, DATA_FLAVOR)); + List components = RadComponent.getPureSelection(myDesigner.getActionsArea().getSelection()); + for (RadComponent component : components) { + component.copyTo(root); } - }); + + SerializedComponentData data = new SerializedComponentData(new XMLOutputter().outputString(root)); + CopyPasteManager.getInstance().setContents(new SimpleTransferable(data, DATA_FLAVOR)); + + return true; + } + catch (Throwable e) { + myDesigner.showError("Copy error:", e); + return false; + } } ////////////////////////////////////////////////////////////////////////////////////////// //