On Mon, 16 Nov 2020 14:41:57 GMT, Florian Kirmaier <fkirma...@openjdk.org> wrote:
> Fixing IndexOutOfBoundsException in the MultipleSelectionModelBase and added > a unit-test for it. > ticket: https://bugs.openjdk.java.net/browse/JDK-8256397 > run test: `./gradlew --continue -PFULL_TEST=true controls:test --tests > "*MultipleSelectionModelImplTest*"` good catch :) No review, just a couple of comments: - other subclasses of MultipleSelectionModelBase might have similar issues - the fix gets rid of the error (good!) but might fire incorrect changes (see below) - there are quite a lot of open issues related to change notification, some might profit from a fix of this - tests, tests, tests .. :) selectIndices might involve disjoint intervals in the change (even for addition which is unusual in the "normal" implementations of observableLists) // initial selection, starting from empty selectionModel.selectIndices(0, /*1, IMPORTANT: remove some index */ 2, 3); System.out.println(change); // expected and actual change { [0, 2, 3] added at 0 } // add selection of disjoint indices (assuming a longer items list) selectionModel.selectIndices(1, 5, 7); System.out.println(change); // actual { [1, 2, 3] added at 1 } // expected { [1] added at 1, [5, 7] added at 4 } ------------- PR: https://git.openjdk.java.net/jfx/pull/353