RFR: 8320232: Cells duplicated when table collapsed and expanded

Kevin Rushforth kcr at openjdk.org
Thu Aug 1 22:45:35 UTC 2024


On Mon, 29 Jul 2024 18:45:23 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

> This PR fixes a bug where a `TableView` inside a `TitledPane` may 'duplicate' the cells. This actually has nothing to do with the `TitledPane`, but it triggered the bug easily due to its nature to change the size of his content when collapsing.
> 
> The expansion change of a `TitledPane` triggered an event where the underlying `VirtualFlow` was adding cells to the pile (for reuse) and later cleaning them all up without resetting the index to -1. 
> This led to a bug where two cells had the same index and therefore received an edit event, although just one should (and is visible, the other cell has no parent -> orphan node).
> 
> The fix is to always reset the index to -1. This was already done before, just not everywhere, for all cells.
> So before we clear the pile (or cells), we always reset the index to -1.
> Added a bunch of tests, some pass before and after.

Looks good. I confirm that 3 of the newly-added test methods fail without the fix and pass with the fix.

I agree with Andy about the unrelated change. I'll reapprove if you fix it.

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

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1521#pullrequestreview-2214160824


More information about the openjfx-dev mailing list