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

Ambarish Rapte arapte at openjdk.java.net
Mon Dec 21 11:54:06 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 incrementally with one additional commit since the last revision:

  Review update

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/318/files
  - new: https://git.openjdk.java.net/jfx/pull/318/files/cb7f9eed..a3b57950

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=318&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=318&range=01-02

  Stats: 94 lines in 2 files changed: 82 ins; 9 del; 3 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