RFR: 8188026: TextFieldXXCell: NPE on calling startEdit [v4]
Marius Hanl
mhanl at openjdk.java.net
Tue Aug 17 16:15:47 UTC 2021
> This PR sets an unified logic to every **startEdit()** method of all Cell implementations.
> So startEdit() is always doing the same now:
>
> `super.startEdit();`
> `if (!isEditing()) {
> return;
> }`
>
> This will prevent a NPE while also being cleaner (no more double checks)
> The commits are splitted into 4 base commits:
> - First commit changes the startEdit() for TableCell implementations (8 files)
> - Second commit changes the startEdit() for TreeTableCell implementations (7 files)
> - Third commit changes the startEdit() for ListCell implementations (7 files)
> - Fourth commit changes the startEdit() for TreeCell implementations (7 files)
>
> While writing tests, I found out that the CheckBoxListCell and the CheckBoxTreeCell don't disable their CheckBox, which is wrong.
> In CheckBoxTableCell and CheckBoxTreeTableCell the CheckBox is disabled, but they don't check their dependencies e.g. TableColumn for null, leading to a NPE if not set.
>
> I wrote a follow-up and assigned it to myself: https://bugs.openjdk.java.net/browse/JDK-8270042
> The aim of this should be, that all 4 CheckBox...Cells have a proper CheckBox disablement while also being nullsafe.
>
> ~Note 1: I removed the tests in TableCellTest added in https://github.com/openjdk/jfx/pull/529 in favor of the new parameterized TableCellStartEditTest~
> Note 2: This also fixes https://bugs.openjdk.java.net/browse/JDK-8268295
Marius Hanl has updated the pull request incrementally with one additional commit since the last revision:
Separated test and made the cell a supplier instead
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/569/files
- new: https://git.openjdk.java.net/jfx/pull/569/files/19da9109..fa89fccd
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=03
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=02-03
Stats: 78 lines in 4 files changed: 28 ins; 5 del; 45 mod
Patch: https://git.openjdk.java.net/jfx/pull/569.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/569/head:pull/569
PR: https://git.openjdk.java.net/jfx/pull/569
More information about the openjfx-dev
mailing list