RFR: 8349756: Memory leak in PaginationSkin when setting page count / index

Kevin Rushforth kcr at openjdk.org
Tue Feb 11 19:53:13 UTC 2025


On Tue, 11 Feb 2025 15:46:17 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

> ## Root Cause
> 
> Each time a `PaginationSkin.IndicatorButton` gets created it adds two listeners (to the control's `styleClass` property and to the skin's tooltipVisible property) via `ListenerHelper`.  This was not detected by the `SkinMemoryLeakTest` because all listeners got removed correctly upon skin change.
> 
> ## Solution
> 
> Add a single listener to the control's `styleClass` property at the skin level, and insert the call to the skin's `tooltipVisible` property both of which iterate over indicator button to do their thing.

I'll review and test the fix. Speaking of which, is an automated test feasible? If not, the test included with #1698 will indirectly test it (once the System.gc is removed).

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1705#issuecomment-2651913886


More information about the openjfx-dev mailing list