RFR: 8341687: Memory leak in TableView after interacting with TableMenuButton [v2]

Marius Hanl mhanl at openjdk.org
Fri Nov 22 17:10:32 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

Marius Hanl has updated the pull request incrementally with one additional commit since the last revision:

  8341687: Add more tests

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1640/files
  - new: https://git.openjdk.org/jfx/pull/1640/files/c6c62f94..8968d4ac

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1640&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1640&range=00-01

  Stats: 116 lines in 2 files changed: 108 ins; 0 del; 8 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