From 838582c92608997008066da52f116b9e4cc7bba1 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 2 Aug 2019 17:25:08 +0300 Subject: [PATCH] Fix "Assertion failed: Write access is allowed inside write-action only" in Kotlin refactoring dialog #KT-33059 fixed --- .../ui/MoveKotlinTopLevelDeclarationsDialog.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java index b0e0aa2f5ae..66a5fb95b8a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.ui; import com.intellij.ide.util.DirectoryChooser; import com.intellij.ide.util.DirectoryUtil; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.event.DocumentListener; @@ -537,7 +538,9 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { ); if (ret == Messages.YES) { try { - DirectoryUtil.mkdirs(PsiManager.getInstance(getProject()), targetDirPath.toString()); + ApplicationManager.getApplication().runWriteAction(() -> { + DirectoryUtil.mkdirs(PsiManager.getInstance(getProject()), targetDirPath.toString()); + }); } catch (IncorrectOperationException e) { setErrorText("Failed to create parent directory: " + targetDirPath);