RFR: 8341687: Memory leak in TableView after interacting with TableMenuButton
Marius Hanl
mhanl at openjdk.org
Sat Nov 16 01:07:07 UTC 2024
There are multiple issues in the `TableMenu` logic that result in a memory leak.
The following problems are now fixed with this PR:
- The listener, that is registered to the `col.visibleProperty()` was not weak nor was it ever unregistered
- The fix is to do pretty much the same that was already done with the `col.textProperty()` listener
- The `col.visibleProperty()` and `col.textProperty()` where added again and again and again to the column when the columns changed (which happens when toggling the visibility).
- The fix is to add the listeners once - when the `MenuItem` is created. This way, when the `TableMenu` is rebuild and the cached `MenuItem` is used, the whole listener logic is not run again for the column
-------------
Commit messages:
- 8341687: Memory leak in TableView after interacting with TableMenuButton
Changes: https://git.openjdk.org/jfx/pull/1640/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1640&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8341687
Stats: 177 lines in 3 files changed: 159 ins; 14 del; 4 mod
Patch: https://git.openjdk.org/jfx/pull/1640.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1640/head:pull/1640
PR: https://git.openjdk.org/jfx/pull/1640
More information about the openjfx-dev
mailing list