From ce84c71a5cf760b40ca2f5706c1ad63385540f5b Mon Sep 17 00:00:00 2001 From: "Evgeniy.Stepanov" Date: Thu, 25 Aug 2022 21:57:18 +0200 Subject: [PATCH] Handle project closing in RunToolbarComponentService GitOrigin-RevId: 9e275cf8215e421e04f1d6bd071e40ee6dc323e0 --- .../execution/runToolbar/RunToolbarComponentService.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarComponentService.kt b/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarComponentService.kt index 5993ad11312a..3220bad272b1 100644 --- a/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarComponentService.kt +++ b/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarComponentService.kt @@ -24,7 +24,7 @@ internal class RunToolbarComponentService(private val project: Project): Disposa project.messageBus.connect(this).subscribe(ExecutionManager.EXECUTION_TOPIC, object : ExecutionListener { override fun processNotStarted(executorId: String, env: ExecutionEnvironment) { ApplicationManager.getApplication().invokeLater { - if (env.project == project) { + if (env.project == project && !project.isDisposed) { processNotStarted(env) } } @@ -32,7 +32,7 @@ internal class RunToolbarComponentService(private val project: Project): Disposa override fun processStarted(executorId: String, env: ExecutionEnvironment, handler: ProcessHandler) { ApplicationManager.getApplication().invokeLater { - if (env.project == project) { + if (env.project == project && !project.isDisposed) { start(env) } } @@ -40,7 +40,7 @@ internal class RunToolbarComponentService(private val project: Project): Disposa override fun processTerminating(executorId: String, env: ExecutionEnvironment, handler: ProcessHandler) { ApplicationManager.getApplication().invokeLater { - if (env.project == project) { + if (env.project == project && !project.isDisposed) { terminating(env) } } @@ -48,7 +48,7 @@ internal class RunToolbarComponentService(private val project: Project): Disposa override fun processTerminated(executorId: String, env: ExecutionEnvironment, handler: ProcessHandler, exitCode: Int) { ApplicationManager.getApplication().invokeLater { - if (env.project == project) { + if (env.project == project && !project.isDisposed) { terminated(env) } }