RFR: 8295426: MenuButtonSkin: memory leak when changing skin
Andy Goryachev
angorya at openjdk.org
Mon Nov 28 18:52:44 UTC 2022
as determined by SkinMemoryLeakTest (remove line 170) and a leak tester
https://github.com/andy-goryachev-oracle/Test/blob/main/src/goryachev/apps/LeakTest.java
Also applies to SplitMenuButton, since they share the same base class MenuButtonSkinBase.
Make sure to configure the current test in LeakTest:
protected final Type WE_ARE_TESTING = Type.MENU_BUTTON; // or SPLIT_MENU_BUTTON
In addition, there seems to be another failure scenario when simply replacing the skin - no menu is shown upon a click. To reproduce, launch LeakTest and click once on the [Replace Skin] button. Second click restores the function.
caused by:
- adding and not removing EventHandlers
- setting and not clearing onAction handlers
- incorrect logic in setting mousePressed/mouse/Released handlers
-------------
Commit messages:
- Merge remote-tracking branch 'origin/master' into
- 8295426: listener helper update
- Merge remote-tracking branch 'origin/8294809.listener.helper' into 8295426.menu.button.skin
- 8294809: review comments
- Merge remote-tracking branch 'origin/master' into 8294809.listener.helper
- 8294809: whitespace
- 8294809: no public api
- 8294809: map change listener
- Merge remote-tracking branch 'origin/master' into 8294809.listener.helper
- Merge branch '8294809.listener.helper' into 8295426.menu.button.skin
- ... and 26 more: https://git.openjdk.org/jfx/compare/3376228a...88e8a7e5
Changes: https://git.openjdk.org/jfx/pull/919/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=919&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8295426
Stats: 175 lines in 4 files changed: 109 ins; 32 del; 34 mod
Patch: https://git.openjdk.org/jfx/pull/919.diff
Fetch: git fetch https://git.openjdk.org/jfx pull/919/head:pull/919
PR: https://git.openjdk.org/jfx/pull/919
More information about the openjfx-dev
mailing list