RFR: 8299423: JavaFX Mac system menubar leaks [v3]

Florian Kirmaier fkirmaier at openjdk.org
Thu Jan 5 08:34:14 UTC 2023


> This PR fixes the leak in the mac system menu bar.
> 
> Inside the native code, NewGlobalRef is called for the callable.
> Which makes it into a "GC-Root" until DeleteGlobalRef is called.
> 
> The DeleteGlobalRef is never called for the MenuEntry, if it's removed from the menu without removing it's callable.
> This PR adds logic, whether the Menu is inserted. If it's not inserted in a Menu anymore, then DeleteGlobalRef is called, by calling `_setCallback` with the callable "null".
> 
> The unit test verifies, that this bug happened without this change, but no longer happens with this change.

Florian Kirmaier has updated the pull request incrementally with two additional commits since the last revision:

 - JDK-8299423
   reverted added newline
 - JDK-8299423
   reverted whitespace change,
   added missing copyright header

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/987/files
  - new: https://git.openjdk.org/jfx/pull/987/files/02d37146..61127b2e

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

  Stats: 25 lines in 2 files changed: 24 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/987.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/987/head:pull/987

PR: https://git.openjdk.org/jfx/pull/987


More information about the openjfx-dev mailing list