`TabPaneSkin` adds a listener to `SelectionModel.selectedItemProperty()` which holds the `SelectionModel` from being GCed. Fix is to add and remove the listener when a `SelectionModel` is changed.
If the fix looks good, We can change all the `getSkinnable().getSelectionModel()` calls to use the new class member `selectionModel`. The fix seems safe to cause any regression. Enabled an ignored test that was added as part of fix for [JDK-8241455](https://bugs.openjdk.java.net/browse/JDK-8241455). ------------- Commit messages: - 8241737: TabPaneSkin memory leak on replacing selectionModel Changes: https://git.openjdk.java.net/jfx/pull/175/files Webrev: https://webrevs.openjdk.java.net/jfx/175/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241737 Stats: 36 lines in 2 files changed: 26 ins; 9 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/175.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/175/head:pull/175 PR: https://git.openjdk.java.net/jfx/pull/175