RFR: 8251483: TableCell: NPE on modifying item's list
Marius Hanl
mhanl at openjdk.java.net
Wed Feb 23 22:33:44 UTC 2022
This PR fixes an issue where the item of the table row is null, although the cell itself is not empty (non null value).
The fix is to call `indexChanged(..)` immediately after the index was changed, but before all `indexProperty()` listener are notified.
The then notified listener in `TableRowSkinBase` will update the underlying cells, which will eventually result in an call to `updateItem(..)`, where the NPE happened (and now not anymore, since the table row is now correctly setup before).
There is one special case: When the index didn't changed at all, we manually call `indexChanged(..)` (basically just like before) since when a property is not changed, `invalidated()` is not called, but we need to notify subclasses that `updateIndex(..)` was called.
-------------
Commit messages:
- 8251483: indexChanged(..) is now called earlier to update the underlying item first before the listener which reacts to the index change are notified.
Changes: https://git.openjdk.java.net/jfx/pull/741/files
Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=741&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8251483
Stats: 75 lines in 3 files changed: 67 ins; 0 del; 8 mod
Patch: https://git.openjdk.java.net/jfx/pull/741.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/741/head:pull/741
PR: https://git.openjdk.java.net/jfx/pull/741
More information about the openjfx-dev
mailing list