On Fri, 4 Nov 2022 19:51:53 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> When menu buttons are added and removed from the scene, an accelerator >> change listener is added to each menu item in the menu. There is nothing >> stopping the same change listener being added multiple times. >> >> MenuButtonSkinBase calls the >> ControlAcceleratorSupport.addAcceleratorsIntoScene(getSkinnable().getItems(), >> getSkinnable()); method each time the button is added to the scene, but >> that method itself also registers a listener to call itself. Each time the >> button is added to the scene, the method is called at least twice. >> >> When it's removed from the scene, the remove accelerator method is also >> called twice, but only the first call removes a change listener attached to >> the accelerator because the first call removes the entry from the hashmap >> changeListenerMap. The second call finds nothing in the map, and doesn't >> remove the additional instance. >> >> This pull request just removes the redundant code in the MenuButtonSkinBase. > > Reviewers: @arapte @andy-goryachev-oracle @kevinrushforth, @arapte I clicked the request review on andy and it removed arapte for some reason. I guess that button shouldn't be clicked. Oops. ------------- PR: https://git.openjdk.org/jfx/pull/937