RFR: 8274061: Tree-/TableRowSkin: misbehavior on switching skin [v2]
Jeanette Winzenburg
fastegal at openjdk.java.net
Wed Oct 27 09:56:46 UTC 2021
> Cleanup of Tree-/TableRowSkin to support switching skins
>
> The misbehavior/s
> - memory leaks due to manually registered listeners that were not removed
> - side-effects due to listeners still active on old skin (like NPEs)
>
> Fix
> - use skin api for all listener registration (for automatic removal in dispose)
> - do not install listeners that are not needed (fixedCellSize, same as in fix of ListCellSkin [JDK-8246745](https://bugs.openjdk.java.net/browse/JDK-8246745))
>
> Added tests for each listener involved in the fix to guarantee it's still working and does not have unwanted side-effects after switching skins.
>
> Note: there are pecularities in row skins (like not updating themselves on property changes of its control, throwing NPEs when not added to a VirtualFlow) which are not part of this issue but covered in [JDK-8274065](https://bugs.openjdk.java.net/browse/JDK-8274065)
Jeanette Winzenburg has updated the pull request incrementally with one additional commit since the last revision:
re-added forgotten code comments
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/632/files
- new: https://git.openjdk.java.net/jfx/pull/632/files/52e18d22..5402e1fb
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=632&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=632&range=00-01
Stats: 8 lines in 2 files changed: 8 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/jfx/pull/632.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/632/head:pull/632
PR: https://git.openjdk.java.net/jfx/pull/632
More information about the openjfx-dev
mailing list