On Fri, 20 Mar 2026 15:04:42 GMT, Ziad El Midaoui <[email protected]> 
wrote:

>> The bug occurs when `showRoot` is set to false on a root with no children, 
>> the expanded item count drops is 0 causing `isFocused(0)` to return false 
>> even though `focusedIndex` is still 0. When items are added afterwards the 
>> `treeItemListener` sees `focusedIndex=0` and incorrectly shifts it to 1 
>> placing the focus on second item of the TreeView.
>> The fix replaces `isFocused(0)` with `getFocusedIndex() >= 0`, which reads 
>> the raw stored index.
>
> Ziad El Midaoui has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Minor test changes

In the comments of the ticket, there is also a `Platform.runLater()` call 
mentioned which indeed looks fishy. Might be a good idea to evaluate and remove 
as follow up?
In general, `Platform.runLater()` is rarely used in `Control` code, it probably 
should never be used since this pretty much always breaks something (flicker, 
getter is not returning the expected value immediately, ...). It is rarely used 
at all (luckily).

-------------

PR Comment: https://git.openjdk.org/jfx/pull/2095#issuecomment-4099167969

Reply via email to