From 3b1038f831a243e2a6941d1629988ecdb23490d7 Mon Sep 17 00:00:00 2001 From: Dmitry Yudin Date: Wed, 4 Feb 2026 15:28:33 +0100 Subject: [PATCH] IJPL-233389 [UI]: Fix IndexOutOfBoundsException in IdeErrorsDialog Add bounds checking to myIndex setter to prevent invalid index values GitOrigin-RevId: ef7a1279e9ec95fd743b8285a1f9d7b78469802f --- .../src/com/intellij/diagnostic/IdeErrorsDialog.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/diagnostic/IdeErrorsDialog.kt b/platform/platform-impl/src/com/intellij/diagnostic/IdeErrorsDialog.kt index d56800c676ce..3abb0c0cb3e4 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/IdeErrorsDialog.kt +++ b/platform/platform-impl/src/com/intellij/diagnostic/IdeErrorsDialog.kt @@ -116,7 +116,10 @@ open class IdeErrorsDialog @ApiStatus.Internal @JvmOverloads constructor( ) : DialogWrapper(myProject, true), MessagePoolListener, UiDataProvider { private val myAcceptedNotices: MutableSet private val myMessageClusters: MutableList = ArrayList() // exceptions with the same stacktrace - private var myIndex: Int + private var myIndex: Int = 0 + set(value) { + field = value.coerceIn(0, (myMessageClusters.size - 1).coerceAtLeast(0)) + } private var myLastIndex = -1 private var myUpdateControlsJob: Job = SupervisorJob()