Call update for ScratchAction in EDT thread (EA-210180)

This commit is contained in:
Ilya Kirillov
2019-09-25 15:33:36 +03:00
parent 7831237aaa
commit a24da280ca
@@ -8,13 +8,14 @@ package org.jetbrains.kotlin.idea.scratch.actions
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
import org.jetbrains.kotlin.idea.scratch.getScratchFile
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
import javax.swing.Icon
abstract class ScratchAction(message: String, icon: Icon) : AnAction(message, message, icon) {
override fun update(e: AnActionEvent) {
override fun update(e: AnActionEvent) = ApplicationManager.getApplication().invokeLater {
val scratchFile = e.getData(CommonDataKeys.EDITOR)
?.let { TextEditorProvider.getInstance().getTextEditor(it).getScratchFile() }
?: e.project?.let { getScratchFileFromSelectedEditor(it) }