> 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