> `TabPaneSkin` installs some listeners that are not removed when `TabPaneSkin` > is changed. > The fix converts listeners to WeakListeners and also removes them on dispose. > > There is a NPE check change needed in `isHosrizontal()`. Without this check > it causes NPE if pulse is in progress while TabPaneSkin is getting disposed. > > `SkinMemoryLeakTest` already had a test which only needed to be enabled. > Test fails before and passes after this change.
Ambarish Rapte has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision: - Merge branch 'master' into TabPaneSkinLeak - 8242621: TabPane: Memory leak when switching skin ------------- Changes: - all: https://git.openjdk.java.net/jfx/pull/318/files - new: https://git.openjdk.java.net/jfx/pull/318/files/47674a6b..cb7f9eed Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=318&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=318&range=00-01 Stats: 44423 lines in 389 files changed: 5231 ins; 38400 del; 792 mod Patch: https://git.openjdk.java.net/jfx/pull/318.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/318/head:pull/318 PR: https://git.openjdk.java.net/jfx/pull/318
