From a204e57877f46ab824eb3f248a0c3615c1e14b75 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 31 Jan 2017 21:24:24 +0300 Subject: [PATCH] Move file to package matching directory: run write action manually to avoid AWT events inside --- .../MoveFileToPackageMatchingDirectoryIntention.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/changePackage/MoveFileToPackageMatchingDirectoryIntention.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/changePackage/MoveFileToPackageMatchingDirectoryIntention.kt index 436c74ebcc2..060171bdae0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/changePackage/MoveFileToPackageMatchingDirectoryIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/changePackage/MoveFileToPackageMatchingDirectoryIntention.kt @@ -29,6 +29,7 @@ import com.intellij.refactoring.util.RefactoringMessageUtil import org.jetbrains.kotlin.idea.core.packageMatchesDirectory import org.jetbrains.kotlin.idea.intentions.SelfTargetingOffsetIndependentIntention import org.jetbrains.kotlin.idea.refactoring.isInsideInjectedFragment +import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.psi.KtPackageDirective class MoveFileToPackageMatchingDirectoryIntention : SelfTargetingOffsetIndependentIntention( @@ -44,6 +45,8 @@ class MoveFileToPackageMatchingDirectoryIntention : SelfTargetingOffsetIndepende return true } + override fun startInWriteAction() = false + override fun applyTo(element: KtPackageDirective, editor: Editor?) { val file = element.getContainingKtFile() val project = file.project @@ -67,6 +70,8 @@ class MoveFileToPackageMatchingDirectoryIntention : SelfTargetingOffsetIndepende return } - MoveFilesOrDirectoriesUtil.doMoveFile(file, targetDirectory) + runWriteAction { + MoveFilesOrDirectoriesUtil.doMoveFile(file, targetDirectory) + } } } \ No newline at end of file