> 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