RFR: 8242621: TabPane: Memory leak when switching skin [v2]

Ambarish Rapte arapte at openjdk.java.net
Mon Dec 21 10:29:09 UTC 2020


> `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


More information about the openjfx-dev mailing list