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

MenuButtonSkin: memory leak when changing skin

    XMLWordPrintable

Details

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

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: