RFR: 8245145: Spinner: throws IllegalArgumentException when replacing skin [v3]
Ajit Ghaisas
aghaisas at openjdk.org
Tue Dec 6 11:25:51 UTC 2022
On Fri, 2 Dec 2022 17:42:00 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> Fixed SpinnerSkin initialization using new Skin.install(). Also in this PR - fixing memory leaks in SpinnerSkin by properly removing all listeners and event filters added in the constructor, as well as any child Nodes.
>>
>> NOTE: the fix requires both ListenerHelper [JDK-8294809](https://bugs.openjdk.org/browse/JDK-8294809) and Skin.install() [JDK-8290844](https://bugs.openjdk.org/browse/JDK-8290844) changes.
>
> Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 51 commits:
>
> - Merge remote-tracking branch 'origin/master' into 8245145.spinner.skin
> - Merge remote-tracking branch 'origin/master' into 8245145.spinner.skin
> - 8245145: cleanup
> - 8245145: cleanup
> - 8245145: cleanup
> - Merge remote-tracking branch 'origin/master' into 8245145.spinner.skin
> - 8245145: listener helper
> - Merge branch '8294809.listener.helper' into 8245145.spinner.skin
> - 8294809: whitespace
> - 8294809: no public api
> - ... and 41 more: https://git.openjdk.org/jfx/compare/e64e1292...c933b7b5
modules/javafx.controls/src/main/java/javafx/scene/control/skin/SpinnerSkin.java line 267:
> 265: @Override
> 266: public void install() {
> 267: getChildren().add(textField);
`dispose()` method removes 3 children, whereas `install()` method adds only 1 child. Is this intentional?
-------------
PR: https://git.openjdk.org/jfx/pull/904
More information about the openjfx-dev
mailing list