From 89d3c37504f5a29eeb37ec06c8a78e500a76b8e6 Mon Sep 17 00:00:00 2001 From: fvoid Date: Mon, 9 Mar 2026 15:23:30 +0800 Subject: [PATCH] [JEWEL-1287] LazyTree multi-selection highlight never merges due to conflicting outerPadding and corner-merging logic BasicLazyTree has corner-merging logic that squares off touching edges between adjacent selected items, intending to produce a continuous selection block. However, outerPadding = PaddingValues(4.dp) adds 4dp vertical padding outside the selection background on every row, creating an 8dp gap between adjacent backgrounds and making the corner-merging logic permanently ineffective. Fix by removing the vertical component of outerPadding so adjacent selection backgrounds can touch and merge as intended. closes https://github.com/JetBrains/intellij-community/pull/3452 (cherry picked from commit b84c2e4cadf01686766cfa188ad5512ac38c27c0) (cherry picked from commit c71269297b01d09c9ab44ace27d3a3669f3861e7) IJ-MR-211495 GitOrigin-RevId: 0cad35bf361371e4258c915eada2e0f0ff96db53 --- .../org/jetbrains/jewel/bridge/theme/IntUiBridgeLazyTree.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeLazyTree.kt b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeLazyTree.kt index 0cc8116d99e3..ca569fd4f905 100644 --- a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeLazyTree.kt +++ b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeLazyTree.kt @@ -45,7 +45,7 @@ internal fun readLazyTreeStyle(): LazyTreeStyle { simpleListItemMetrics = SimpleListItemMetrics( innerPadding = PaddingValues(horizontal = 12.dp), - outerPadding = PaddingValues(4.dp), + outerPadding = PaddingValues(horizontal = 4.dp), selectionBackgroundCornerSize = CornerSize(JBUI.CurrentTheme.Tree.ARC.dp / 2), iconTextGap = 2.dp, ),