On Mon, 1 Jun 2026 01:43:45 GMT, Christopher Schnick <[email protected]> wrote:
> This is a much simpler fix for JDK-8384806 which does not have any side > effects. > > This restores the old code with only a one line change instead. For > reference, see > https://github.com/openjdk/jfx/commit/8d917ae738120e12ac12cd0957879b7c00e59b03. > We now fix the issue by clearing the cell with `buttonCell.updateIndex(-1);` > as using `buttonCell.setItem(null);` was causing the original issue when the > item was already null. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). Can we instead do something like this in `ComboBoxListViewSkin`: ... lh.addChangeListener(control.converterProperty(), e -> { listView.refresh(); buttonCell.updateIndex(-1); // <--- NEW updateDisplayNode(); }); ... This makes more sense to me. I understand the problem and your reasoning. If the converter changes, we want to refresh the `ListView`. But we should also force the `buttonCell` to refresh, hence we should reset to -1. Then you can revert `updateDisplayNode` to not call `buttonCell.updateIndex(-1);`. All tests still pass for me and the fix makes more sense - in this case the `buttonCell` is 100% stale and we need to consider that. ------------- PR Comment: https://git.openjdk.org/jfx/pull/2179#issuecomment-4615064871
