> 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 one additional 
commit since the last revision:

  JDK-8299423
  Added null check before using the callback

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

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

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

  Stats: 12 lines in 1 file changed: 5 ins; 0 del; 7 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

Reply via email to