[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
This commit is contained in:
fvoid
2026-07-17 17:01:41 +00:00
committed by intellij-monorepo-bot
parent 402aabfdda
commit 89d3c37504
@@ -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,
),