44package software.aws.toolkits.jetbrains.core.explorer
55
66import com.intellij.icons.AllIcons
7+ import com.intellij.openapi.Disposable
78import com.intellij.openapi.actionSystem.ActionManager
89import com.intellij.openapi.actionSystem.DefaultActionGroup
910import com.intellij.openapi.application.ApplicationManager
@@ -46,7 +47,9 @@ import software.aws.toolkits.telemetry.FeatureId
4647import java.util.EventListener
4748import javax.swing.JComponent
4849
49- class AwsToolkitExplorerFactory : ToolWindowFactory , DumbAware {
50+ class AwsToolkitExplorerFactory (
51+ private val disposable : Disposable
52+ ) : ToolWindowFactory, DumbAware {
5053
5154 override fun createToolWindowContent (project : Project , toolWindow : ToolWindow ) {
5255 val notificationPanel = NotificationPanel ()
@@ -112,7 +115,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
112115 toolWindow.activate(null )
113116 contentManager.setSelectedContent(content)
114117
115- project.messageBus.connect().subscribe(
118+ project.messageBus.connect(disposable ).subscribe(
116119 ToolkitConnectionManagerListener .TOPIC ,
117120 object : ToolkitConnectionManagerListener {
118121 override fun activeConnectionChanged (newConnection : ToolkitConnection ? ) {
@@ -121,7 +124,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
121124 }
122125 )
123126
124- project.messageBus.connect().subscribe(
127+ project.messageBus.connect(disposable ).subscribe(
125128 AwsConnectionManager .CONNECTION_SETTINGS_STATE_CHANGED ,
126129 object : ConnectionSettingsStateChangeNotifier {
127130 override fun settingsStateChanged (newState : ConnectionState ) {
@@ -130,7 +133,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
130133 }
131134 )
132135
133- project.messageBus.connect().subscribe(
136+ project.messageBus.connect(disposable ).subscribe(
134137 BearerTokenProviderListener .TOPIC ,
135138 object : BearerTokenProviderListener {
136139 override fun onChange (providerId : String , newScopes : List <String >? ) {
@@ -143,7 +146,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
143146 }
144147 )
145148
146- project.messageBus.connect().subscribe(
149+ project.messageBus.connect(disposable ).subscribe(
147150 ShowToolkitListener .TOPIC ,
148151 object : ShowToolkitListener {
149152 override fun showWebview (project : Project ) {
0 commit comments