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

Jeanette Winzenburg fastegal at openjdk.java.net
Mon Jun 21 13:16:29 UTC 2021


On Mon, 21 Jun 2021 12:57:34 GMT, Michael Strauß <mstrauss 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.

indeed, thanks :)

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

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


More information about the openjfx-dev mailing list