RFR: [WIP] 8277785: ListView scrollTo jumps to wrong location when CellHeight is changed [v7]

Johan Vos jvos at openjdk.java.net
Mon May 30 08:10:36 UTC 2022


> When the size of a ListCell is changed and a scrollTo method is invoked without having a layout calculation in between, the old (wrong) size is used to calculcate the total estimate. This happens e.g. when the size is changed in the `updateItem` method.
> This PR will immediately resize the cell and sets the new value in the cache containing the cellsizes.

Johan Vos has updated the pull request incrementally with one additional commit since the last revision:

  Precalculate size of cells that are likely going to be used in rendering.
  This avoid resizing cells after their position has been laid out, leading
  to misalignments.
  Relaxed some tests that check on the number of invocations on updateItem.
  We heavily use the accumcell for calculating sizes, and that cell is released
  every time, leading to a call to updateItem as well (but this call should
  not do any CPU intensive work)

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/712/files
  - new: https://git.openjdk.java.net/jfx/pull/712/files/c7d722d3..67b351ac

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=712&range=06
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=712&range=05-06

  Stats: 95 lines in 4 files changed: 65 ins; 18 del; 12 mod
  Patch: https://git.openjdk.java.net/jfx/pull/712.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/712/head:pull/712

PR: https://git.openjdk.java.net/jfx/pull/712


More information about the openjfx-dev mailing list