RFR: 8279640: ListView with null SelectionModel/FocusModel throws NPE

Andy Goryachev angorya at openjdk.org
Wed Aug 10 23:30:53 UTC 2022


On Sat, 8 Jan 2022 00:17:36 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

> This PR fixes a bunch of NPEs when a null `SelectionModel` or `FocusModel` is set on a `ListView`.
> 
> The following NPEs are fixed (all are also covered by exactly one test case):
> NPEs with null selection model:
> - Mouse click on a `ListCell`
> - SPACE key press
> - KP_UP (arrow up) key press
> - HOME key press
> - END key press
> - BACK_SLASH + CTRL key press
> 
> NPEs with null focus model:
> - SPACE key press
> - Select an items: getSelectionModel().select(1)
> - Clear-Select an item and add one after: listView.getSelectionModel().clearAndSelect(1); listView.getItems().add("3");

Changes requested by angorya (Author).

There is a condition observed while debugging [JDK-8187145](https://bugs.openjdk.org/browse/JDK-8187145),
when a non-null selection model is set, the user creates a non-empty selection, then the selection is set to null.

The UI still shows selected cells - does the same bug exists in ListView?

modules/javafx.controls/src/main/java/com/sun/javafx/scene/control/behavior/ListViewBehavior.java line 268:

> 266:             return;
> 267:         }
> 268: 

line 281 (below): could sm be null there?

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

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


More information about the openjfx-dev mailing list