RFR: 8307538: Memory leak in TreeTableView when calling refresh [v7]

Marius Hanl mhanl at openjdk.org
Tue Jun 6 09:39:04 UTC 2023


On Mon, 15 May 2023 16:12:10 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> Fixed a memory leak in TreeTableView by reverting to register**Listener (which is ok in this particular situation) - the leak is specific to TreeTableRowSkin.
>> 
>> Added a unit test.
>
> Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 17 additional commits since the last revision:
> 
>  - Merge remote-tracking branch 'origin/master' into 8307538.refresh
>  - review comments
>  - John is right
>  - review comments
>  - one more test case
>  - back to register listener
>  - weak lambdas are getting collected
>  - removed monkey tester changes
>  - Merge remote-tracking branch 'origin/master' into 8307538.refresh
>  - whitespace
>  - ... and 7 more: https://git.openjdk.org/jfx/compare/55028a61...f68de127

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TreeTableRowSkin.java line 117:

> 115:         TreeTableView<T> treeTableView = getSkinnable().getTreeTableView();
> 116:         if (treeTableView == null) {
> 117:             registerInvalidationListener(getSkinnable().treeTableViewProperty(), (x) -> {

One question here: Why does this prevent the leak but the ListenerHelper does not?

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1129#discussion_r1219289806


More information about the openjfx-dev mailing list