RFR: 8279640: ListView with null SelectionModel/FocusModel throws NPE [v3]

danielpeintner duke at openjdk.org
Mon Sep 12 16:10:03 UTC 2022


On Sun, 11 Sep 2022 19:30:18 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");`
>
> 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 five additional commits since the last revision:
> 
>  - Merge branch 'master' of https://github.com/openjdk/jfx into 8279640-list-view-null-selection-focus-model
>  - Fix NPE for null selection/focus -model in queryAccessibleAttribute(..)
>  - Still set anchor when the selection model is null
>  - Using global StageLoader
>  - 8279640: ListView with null SelectionModel/FocusModel throws NPE

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

> 579: 
> 580:         MultipleSelectionModel<T> selectionModel = getNode().getSelectionModel();
> 581:         if (selectionModel == null) return;

VERY MINOR style issue: this seems to be the only place where you use a _one-liner_ return

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

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


More information about the openjfx-dev mailing list