RFR: 8188026: TextFieldXXCell: NPE on calling startEdit [v3]

Marius Hanl mhanl at openjdk.java.net
Thu Jul 8 21:15:29 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:

  Reordered commit

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/569/files
  - new: https://git.openjdk.java.net/jfx/pull/569/files/8189eb02..19da9109

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=01-02

  Stats: 2 lines in 1 file changed: 1 ins; 1 del; 0 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