[JEWEL-1287] LazyTree multi-selection highlight never merges due to conflicting outerPadding and corner-merging logic#3452
Open
fvoidhe wants to merge 1 commit intoJetBrains:masterfrom
Open
Conversation
…onflicting 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.
DanielSouzaBertoldi
approved these changes
Mar 10, 2026
Collaborator
DanielSouzaBertoldi
left a comment
There was a problem hiding this comment.
Great catch, thanks for providing a fix + detailed issue in YouTrack! :)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
issue:
https://youtrack.jetbrains.com/issue/JEWEL-1287/LazyTree-multi-selection-highlight-never-merges-due-to-conflicting-outerPadding-and-corner-merging-logic