From f295417161d562893bfde9c0d80ef2191e9da472 Mon Sep 17 00:00:00 2001 From: Maksim Zuev Date: Tue, 30 Jul 2024 12:02:39 +0200 Subject: [PATCH] [debugger] IJPL-158332 Fix button status on hot swap cancel GitOrigin-RevId: 5570e1bf1777e3348ce07454529ce01490cf5956 --- .../xdebugger/impl/hotswap/HotSwapFloatingToolbarProvider.kt | 1 + .../intellij/xdebugger/impl/hotswap/HotSwapSessionManager.kt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapFloatingToolbarProvider.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapFloatingToolbarProvider.kt index f6a1f74fcf4b..0461787d5ee1 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapFloatingToolbarProvider.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapFloatingToolbarProvider.kt @@ -88,6 +88,7 @@ internal class HotSwapFloatingToolbarProvider : FloatingToolbarProvider { override fun onStatusChanged(session: HotSwapSession<*>, status: HotSwapVisibleStatus) { if (status == HotSwapVisibleStatus.IN_PROGRESS) { hotSwapAction.inProgress = true + hotSwapAction.session = null return } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapSessionManager.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapSessionManager.kt index f7391e481895..214787bae213 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapSessionManager.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/hotswap/HotSwapSessionManager.kt @@ -58,6 +58,7 @@ class HotSwapSession(val project: Project, internal val provider: HotSwapProv @Volatile internal var currentStatus: HotSwapVisibleStatus = HotSwapVisibleStatus.NO_CHANGES private set(value) { + if (field == value) return field = value HotSwapSessionManager.getInstance(project).fireStatusChanged(this, value) } @@ -100,6 +101,7 @@ class HotSwapSession(val project: Project, internal val provider: HotSwapProv } override fun onCanceled() { + currentStatus = HotSwapVisibleStatus.CHANGES_READY } } }