RFR: 8165214: ListView.EditEvent.getIndex() does not return the correct index

Michael Strauß mstrauss at openjdk.java.net
Mon Jun 21 13:01:46 UTC 2021


On Mon, 21 Jun 2021 12:27:37 GMT, Jeanette Winzenburg <fastegal at openjdk.org> wrote:

> Issue was that the cancel event carried the listView's editingIndex at the time of firing the event - that's wrong nearly always (because the list's editing state/index might have changed between start and cancel, f.i. due to calling list.edit(someDifferentIndex)). 
> 
> Fixed by keeping the index at startEdit and using that in cancelEdit (similar approach as in TreeCell fix [TreeCell fix JDK-8265210](https://bugs.openjdk.java.net/browse/JDK-8265210). 
> 
> Added tests that are failing (and one that was accidentally passing) before, all passing after.

modules/javafx.controls/src/main/java/javafx/scene/control/ListCell.java line 356:

> 354:      **************************************************************************/
> 355:     // index at time of startEdit - fix for JDK-8165214
> 356:     int indexAtStartEdit;

It seems like this field should be private.

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

PR: https://git.openjdk.java.net/jfx/pull/539


More information about the openjfx-dev mailing list