RFR: 8301763: Adding children to wrong index leaves inconsistent state in Parent#childrenSet
Lukasz Kostyra
lkostyra at openjdk.org
Mon May 15 12:56:03 UTC 2023
This issue happened because `childSet` member of Parent was modified during `onProposedChange()` call - that call did not recognize negative indexes as invalid, which caused an exception when actually adding the Node to a List.
This seemed like the simplest solution which doesn't rework a lot of code underneath. Exceptions coming from a backing list/collection technically are handled by `VetoableListDecorator`'s try-catch clauses, however `VetoableListDecorator` does not provide an interface to react when such an exception happens - without it we cannot revert `childSet` back to its original state.
-------------
Commit messages:
- Add negative index test for Parent
- Parent: Throw exception when added child index is negative
Changes: https://git.openjdk.org/jfx/pull/1136/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1136&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8301763
Stats: 22 lines in 2 files changed: 22 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jfx/pull/1136.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1136/head:pull/1136
PR: https://git.openjdk.org/jfx/pull/1136
More information about the openjfx-dev
mailing list