correct fix for invoking 'safe delete' refactoring outside of write action (EA-80766 - E: BaseRefactoringProcessor.run)

This commit is contained in:
Dmitry Jemerov
2016-08-09 20:08:25 +02:00
parent 5d92f655f7
commit 5c113a4237
@@ -64,6 +64,7 @@ import java.awt.Insets
import java.util.*
import javax.swing.JComponent
import javax.swing.JPanel
import javax.swing.SwingUtilities
class UnusedSymbolInspection : AbstractKotlinInspection() {
companion object {
@@ -313,10 +314,10 @@ class SafeDeleteFix(val declaration: KtDeclaration) : LocalQuickFix {
override fun getFamilyName() = "Safe delete"
fun startInWriteAction(): Boolean = false
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)
SwingUtilities.invokeLater {
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)
}
}
}