Integrated: 8274061: Tree-/TableRowSkin: misbehavior on switching skin

Jeanette Winzenburg fastegal at openjdk.java.net
Thu Nov 25 12:49:15 UTC 2021


On Fri, 24 Sep 2021 16:01:38 GMT, Jeanette Winzenburg <fastegal at openjdk.org> wrote:

> 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))~~ not handled here, see [JDK-8277000](https://bugs.openjdk.java.net/browse/JDK-8277000)
> 
> 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)

This pull request has now been integrated.

Changeset: d14be6a8
Author:    Jeanette Winzenburg <fastegal at openjdk.org>
URL:       https://git.openjdk.java.net/jfx/commit/d14be6a811591df70ef99fd6ec5448423be6fb7d
Stats:     1086 lines in 8 files changed: 1025 ins; 44 del; 17 mod

8274061: Tree-/TableRowSkin: misbehavior on switching skin

Reviewed-by: aghaisas, kcr

-------------

PR: https://git.openjdk.java.net/jfx/pull/632


More information about the openjfx-dev mailing list