33
44package software.aws.toolkits.jetbrains.services.amazonq.toolwindow
55
6+ import com.intellij.openapi.Disposable
67import com.intellij.openapi.actionSystem.ActionManager
78import com.intellij.openapi.application.runInEdt
89import com.intellij.openapi.project.DumbAware
@@ -36,7 +37,9 @@ import software.aws.toolkits.telemetry.FeatureId
3637import java.awt.event.ComponentAdapter
3738import java.awt.event.ComponentEvent
3839
39- class AmazonQToolWindowFactory : ToolWindowFactory , DumbAware {
40+ class AmazonQToolWindowFactory (
41+ private val disposable : Disposable
42+ ) : ToolWindowFactory, DumbAware {
4043
4144 override fun createToolWindowContent (project : Project , toolWindow : ToolWindow ) {
4245 val mainPanel = BorderLayoutPanel ()
@@ -58,7 +61,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
5861 }
5962 val contentManager = toolWindow.contentManager
6063
61- project.messageBus.connect().subscribe(
64+ project.messageBus.connect(disposable ).subscribe(
6265 ToolkitConnectionManagerListener .TOPIC ,
6366 object : ToolkitConnectionManagerListener {
6467 override fun activeConnectionChanged (newConnection : ToolkitConnection ? ) {
@@ -67,7 +70,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
6770 }
6871 )
6972
70- project.messageBus.connect().subscribe(
73+ project.messageBus.connect(disposable ).subscribe(
7174 RefreshQChatPanelButtonPressedListener .TOPIC ,
7275 object : RefreshQChatPanelButtonPressedListener {
7376 override fun onRefresh () {
@@ -78,7 +81,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
7881 }
7982 )
8083
81- project.messageBus.connect().subscribe(
84+ project.messageBus.connect(disposable ).subscribe(
8285 BearerTokenProviderListener .TOPIC ,
8386 object : BearerTokenProviderListener {
8487 override fun onChange (providerId : String , newScopes : List <String >? ) {
0 commit comments