RFR: 8242489: ChoiceBox: initially toggle not sync'ed to selection
Jeanette Winzenburg
fastegal at openjdk.java.net
Mon Apr 13 11:00:20 UTC 2020
Macroscopic issue is that initially, the toggle is not sync'ed to the selection state. Root reason is an missing else
block when updating toggle selection state (see report for details).
Fixed by introducing the else block and removing all follow-up errors that tried to amend the consequences of the
incorrect selection state
- removed listener to selected item
- removed toggle selection update in showing listener
The former also fixed the memory leak when replacing the selectionModel plus an unreported NPE when the selectionModel
is null initially.
Added tests that failed before the fix and passed after. As there had been no tests around toggle state, so added some
to verify that the change doesn't break. Enhanced shim/skin to allow access to popup for testing. Removed the
informally ignored test part for memory leak.
-------------
Commit messages:
- 8242489: ChoiceBox: initially toggle not sync'ed to selection
Changes: https://git.openjdk.java.net/jfx/pull/177/files
Webrev: https://webrevs.openjdk.java.net/jfx/177/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-8242489
Stats: 375 lines in 5 files changed: 347 ins; 25 del; 3 mod
Patch: https://git.openjdk.java.net/jfx/pull/177.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/177/head:pull/177
PR: https://git.openjdk.java.net/jfx/pull/177
More information about the openjfx-dev
mailing list