Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8295426

MenuButtonSkin: memory leak when changing skin

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • jfx20
    • None
    • javafx
    • b10

      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

            angorya Andy Goryachev
            angorya Andy Goryachev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: