Cleanup Coroutine panel in case connection gets disposed soon after
creation.
This commit is contained in:
+5
-4
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.idea.debugger.coroutine
|
|||||||
|
|
||||||
import com.intellij.debugger.DebuggerInvocationUtil
|
import com.intellij.debugger.DebuggerInvocationUtil
|
||||||
import com.intellij.debugger.engine.JavaDebugProcess
|
import com.intellij.debugger.engine.JavaDebugProcess
|
||||||
import com.intellij.debugger.engine.SuspendContextImpl
|
|
||||||
import com.intellij.execution.configurations.DebuggingRunnerData
|
import com.intellij.execution.configurations.DebuggingRunnerData
|
||||||
import com.intellij.execution.configurations.JavaParameters
|
import com.intellij.execution.configurations.JavaParameters
|
||||||
import com.intellij.execution.configurations.RunConfigurationBase
|
import com.intellij.execution.configurations.RunConfigurationBase
|
||||||
@@ -17,6 +16,7 @@ import com.intellij.openapi.Disposable
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
import com.intellij.ui.content.Content
|
import com.intellij.ui.content.Content
|
||||||
|
import com.intellij.util.IncorrectOperationException
|
||||||
import com.intellij.util.messages.MessageBusConnection
|
import com.intellij.util.messages.MessageBusConnection
|
||||||
import com.intellij.xdebugger.XDebugProcess
|
import com.intellij.xdebugger.XDebugProcess
|
||||||
import com.intellij.xdebugger.XDebugSession
|
import com.intellij.xdebugger.XDebugSession
|
||||||
@@ -24,7 +24,6 @@ import com.intellij.xdebugger.XDebuggerManager
|
|||||||
import com.intellij.xdebugger.XDebuggerManagerListener
|
import com.intellij.xdebugger.XDebuggerManagerListener
|
||||||
import com.intellij.xdebugger.impl.XDebugSessionImpl
|
import com.intellij.xdebugger.impl.XDebugSessionImpl
|
||||||
import org.apache.maven.artifact.versioning.DefaultArtifactVersion
|
import org.apache.maven.artifact.versioning.DefaultArtifactVersion
|
||||||
import org.jetbrains.kotlin.idea.debugger.coroutine.proxy.ManagerThreadExecutor
|
|
||||||
import org.jetbrains.kotlin.idea.debugger.coroutine.util.CreateContentParamsProvider
|
import org.jetbrains.kotlin.idea.debugger.coroutine.util.CreateContentParamsProvider
|
||||||
import org.jetbrains.kotlin.idea.debugger.coroutine.util.logger
|
import org.jetbrains.kotlin.idea.debugger.coroutine.util.logger
|
||||||
import org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView
|
import org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView
|
||||||
@@ -80,8 +79,10 @@ class DebuggerConnection(
|
|||||||
override fun processStarted(debugProcess: XDebugProcess) {
|
override fun processStarted(debugProcess: XDebugProcess) {
|
||||||
DebuggerInvocationUtil.swingInvokeLater(project) {
|
DebuggerInvocationUtil.swingInvokeLater(project) {
|
||||||
if (debugProcess is JavaDebugProcess) {
|
if (debugProcess is JavaDebugProcess) {
|
||||||
registerXCoroutinesPanel(debugProcess.session)?.let {
|
if (!Disposer.isDisposed(this)) {
|
||||||
Disposer.register(this, it)
|
registerXCoroutinesPanel(debugProcess.session)?.let {
|
||||||
|
Disposer.register(this, it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user