On Wed, 4 Nov 2020 17:25:16 GMT, Jose Pereda <jper...@openjdk.org> wrote:

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

This pull request has now been integrated.

Changeset: a128952b
Author:    Jose Pereda <jper...@openjdk.org>
URL:       https://git.openjdk.java.net/jfx/commit/a128952b
Stats:     73 lines in 4 files changed: 61 ins; 8 del; 4 mod

8177945: Single cell selection flickers when adding data to TableView

Reviewed-by: kcr, aghaisas

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

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

Reply via email to