RFR: 8289357: (Tree)TableView is null in (Tree)TableRowSkin during autosize [v5]

Marius Hanl mhanl at openjdk.org
Tue Jul 5 23:30:48 UTC 2022


> Initialize the `(Tree)TableView` when creating the measure row.
> This will guarantee, that we can access the `(Tree)TableView` in the `(Tree)TableRowSkin`, which is currently only null during the autosizing (It is always set otherwise).
> 
> With this change, a NPE is happening as the `(Tree)TableRow` currently assumes, that there must be a `VirtualFlow` somewhere in the scene (parent). I guard against this now.
> I remembered, that there is a ticket for the above behaviour here: https://bugs.openjdk.org/browse/JDK-8274065
> 
> Finally, the `(Tree)TableRow` must be removed after the autosizing and the index must be set to `-1` (as for the cell) so that e.g. `cancelEdit` is not triggered twice. Some tests catched that (see `test_rt_31015`).

Marius Hanl has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:

 - Enable tests again
 - Merge branch 'master' of https://github.com/openjdk/jfx into 8289357-table-view-null-in-table-row-skin
 - Merge branch 'master' of https://github.com/openjdk/jfx into 8289357-table-view-null-in-table-row-skin
 - 8289357: Added test to verify, that no (Tree)TableRows remain after auto sizing
 - 8289357: Fix test which failed as the coutner increased by one due to the now correct row setup
 - 8289357: Remove (Tree)TableRow after autosizing and update the index to -1 to prevent triggering of listener
 - 8289357: Initialize the (Tree)TableView when creating the measure row. Also prevent a NPE as we don't have a VirtualFlow in the context of autosizing

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/805/files
  - new: https://git.openjdk.org/jfx/pull/805/files/eb95e91d..4839de00

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=805&range=04
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=805&range=03-04

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jfx/pull/805.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/805/head:pull/805

PR: https://git.openjdk.org/jfx/pull/805


More information about the openjfx-dev mailing list