RFR: 8320232: Cells duplicated when table collapsed and expanded

Andy Goryachev angorya at openjdk.org
Tue Jul 30 15:58:46 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.

I see the issue with the dialog reproducer on Windows 11.  macOS does not exhibit the issue with the dialog one, but does have an issue with the titled pane reproducer.

This change fixes the bug on macOS and Windows 11.

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

PR Comment: https://git.openjdk.org/jfx/pull/1521#issuecomment-2258685422


More information about the openjfx-dev mailing list