diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaFramesListRendererUtils.kt b/java/debugger/impl/src/com/intellij/debugger/engine/JavaFramesListRendererUtils.kt index 2c81cedcba67..d567f637553c 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaFramesListRendererUtils.kt +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaFramesListRendererUtils.kt @@ -49,9 +49,10 @@ internal fun computeUiPresentation( descriptor.exactRecursiveIndex.asDeferred().await()?.let { index -> if (index > 0) { - container.append(" [$index]", SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES) + send(container.copy().apply { + append(" [$index]", SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES) + }) } } - send(container) close() }.buffer(Channel.CONFLATED) diff --git a/platform/xdebugger-api/api-dump-experimental.txt b/platform/xdebugger-api/api-dump-experimental.txt index d4c80c8ab4f4..4d4d8fcc9531 100644 --- a/platform/xdebugger-api/api-dump-experimental.txt +++ b/platform/xdebugger-api/api-dump-experimental.txt @@ -29,6 +29,7 @@ a:com.intellij.xdebugger.frame.XStackFrame - append(com.intellij.ui.ColoredText):V - append(java.lang.String,com.intellij.ui.SimpleTextAttributes):V - append(java.lang.String,com.intellij.ui.SimpleTextAttributes,java.lang.Object):V +- f:copy():com.intellij.xdebugger.frame.XStackFrameUiPresentationContainer - f:customizePresentation(com.intellij.ui.ColoredTextContainer):V - f:getFragments():java.util.List - f:getIcon():javax.swing.Icon diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XStackFrameUiPresentationContainer.kt b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XStackFrameUiPresentationContainer.kt index dbbae46c2ff1..4f64bb71495a 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XStackFrameUiPresentationContainer.kt +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XStackFrameUiPresentationContainer.kt @@ -50,4 +50,12 @@ class XStackFrameUiPresentationContainer : ColoredTextContainer { container.append(fragment, attrs) } } + + fun copy(): XStackFrameUiPresentationContainer { + val copy = XStackFrameUiPresentationContainer() + copy.myIcon = myIcon + copy.myTooltipText = myTooltipText + copy.myFragments.addAll(myFragments) + return copy + } }