ui designer: finish inplace editing in a write-safe context (EA-91789 - assert: Docum...
authorpeter <peter@jetbrains.com>
Wed, 16 Nov 2016 16:13:18 +0000 (17:13 +0100)
committerpeter <peter@jetbrains.com>
Wed, 16 Nov 2016 17:18:28 +0000 (18:18 +0100)
plugins/ui-designer/src/com/intellij/uiDesigner/designSurface/InplaceEditingLayer.java

index df37d70df8e5b9fbceb45c7b278e675ba304823e..a17e4d602795763b7c48fc5d9ba5bea283d1fb5f 100644 (file)
@@ -17,6 +17,7 @@ package com.intellij.uiDesigner.designSurface;
 
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.application.TransactionGuard;
 import com.intellij.openapi.command.CommandProcessor;
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.wm.FocusWatcher;
@@ -331,7 +332,7 @@ public final class InplaceEditingLayer extends JComponent{
    */
   private final class MyComponentSelectionListener implements ComponentSelectionListener{
     public void selectedComponentChanged(final GuiEditor source) {
-      finishInplaceEditing();
+      TransactionGuard.submitTransaction(myEditor.getEditor(), () -> finishInplaceEditing());
     }
   }