Call update for ScratchAction in EDT thread (EA-210180)
This commit is contained in:
@@ -8,13 +8,14 @@ package org.jetbrains.kotlin.idea.scratch.actions
|
|||||||
import com.intellij.openapi.actionSystem.AnAction
|
import com.intellij.openapi.actionSystem.AnAction
|
||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
||||||
import org.jetbrains.kotlin.idea.scratch.getScratchFile
|
import org.jetbrains.kotlin.idea.scratch.getScratchFile
|
||||||
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
|
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
|
||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
abstract class ScratchAction(message: String, icon: Icon) : AnAction(message, message, 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)
|
val scratchFile = e.getData(CommonDataKeys.EDITOR)
|
||||||
?.let { TextEditorProvider.getInstance().getTextEditor(it).getScratchFile() }
|
?.let { TextEditorProvider.getInstance().getTextEditor(it).getScratchFile() }
|
||||||
?: e.project?.let { getScratchFileFromSelectedEditor(it) }
|
?: e.project?.let { getScratchFileFromSelectedEditor(it) }
|
||||||
|
|||||||
Reference in New Issue
Block a user