RFR: 8177945: Single cell selection flickers when adding data to TableView [v2]
Jose Pereda
jpereda at openjdk.java.net
Mon Nov 9 09:39:11 UTC 2020
> As discussed in the JBS [issue](https://bugs.openjdk.java.net/browse/JDK-8177945), there are some inconsistencies in the use of `VirtualContainerBase::requestRebuildCells` from `VirtualContainerBase::updateItemCount()`, which is implemented in the different skin classes for virtualised controls `TableViewSkinBase`, `ListViewSkin` or `TreeTableViewSkin`.
>
> The latter already commented out this call (related to JDK-8155798 and JDK-8147483).
>
> This PR removes now the calls to `VirtualContainerBase::requestRebuildCells` from `TableViewSkinBase` (except for the case `itemCount = 0` based on JDK-8118897 and JDK-8098235) and `ListViewSkin`.
>
> A test is provided for TableView, that verifies that the `selected` pseudo-class state remains set for the selected cell while adding more items. Without this fix, as the cells are rebuilt, the pseudo-class states are clean and set all over again, thus the flickering.
>
> For ListView, the test rt_35395 (JDK-8091726) is updated, as now there are way less calls to updateItem.
Jose Pereda has updated the pull request incrementally with one additional commit since the last revision:
Address feedback
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/348/files
- new: https://git.openjdk.java.net/jfx/pull/348/files/ab640948..eb69b4ab
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=348&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=348&range=00-01
Stats: 4 lines in 2 files changed: 3 ins; 1 del; 0 mod
Patch: https://git.openjdk.java.net/jfx/pull/348.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/348/head:pull/348
PR: https://git.openjdk.java.net/jfx/pull/348
More information about the openjfx-dev
mailing list