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

Reply via email to