diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt index dba8f9ebcfc..5d40851e1d4 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt @@ -49,9 +49,9 @@ fun TextEditor.addScratchPanel(panel: ScratchTopPanel) { Disposer.register(this, panel) } -fun TextEditor.removeScratchPanel(panel: ScratchTopPanel) { +fun TextEditor.removeScratchPanel() { + scratchTopPanel?.let { FileEditorManager.getInstance(it.scratchFile.project).removeTopComponent(this, it) } scratchTopPanel = null - FileEditorManager.getInstance(panel.scratchFile.project).removeTopComponent(this, panel) } private var TextEditor.scratchTopPanel: ScratchTopPanel? by UserDataProperty(Key.create("scratch.panel")) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt index 3304490fc3d..dcd48df6a5d 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt @@ -36,7 +36,7 @@ class ScratchFileHook(val project: Project) : ProjectComponent { } override fun projectClosed() { - getAllEditorsWithScratchPanel(project).forEach { (editor, panel) -> editor.removeScratchPanel(panel) } + getAllEditorsWithScratchPanel(project).forEach { (editor, _) -> editor.removeScratchPanel() } } private inner class ScratchEditorListener : FileEditorManagerListener { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchTopPanel.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchTopPanel.kt index 218655d6145..23df40fc524 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchTopPanel.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchTopPanel.kt @@ -44,7 +44,7 @@ import javax.swing.* class ScratchTopPanel private constructor(val scratchFile: ScratchFile) : JPanel(HorizontalLayout(5)), Disposable { override fun dispose() { - scratchFile.editor.removeScratchPanel(this) + scratchFile.editor.removeScratchPanel() } companion object {