From 05542d86b14b3aeaf60df01b5ced4f0adfbf2d55 Mon Sep 17 00:00:00 2001 From: byte0ne Date: Thu, 24 Oct 2024 14:27:02 +0200 Subject: [PATCH] Fix IndexOutOfBoundsException dataCommunicator may be empty at the time beforeClientResponse runs. --- .../vaadin/componentfactory/selectiongrid/SelectionGrid.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selection-grid-flow/src/main/java/com/vaadin/componentfactory/selectiongrid/SelectionGrid.java b/selection-grid-flow/src/main/java/com/vaadin/componentfactory/selectiongrid/SelectionGrid.java index 3f5777a..6563ee8 100644 --- a/selection-grid-flow/src/main/java/com/vaadin/componentfactory/selectiongrid/SelectionGrid.java +++ b/selection-grid-flow/src/main/java/com/vaadin/componentfactory/selectiongrid/SelectionGrid.java @@ -180,7 +180,7 @@ private Set obtainNewSelectedItems(int fromIndex, int toIndex) { int from = Math.min(fromIndex, toIndex); int to = Math.max(fromIndex, toIndex) + 1; int pageSize = dataCommunicator.getPageSize(); - if (to - from < (pageSize * 2) - 3) { + if (dataCommunicator.getItemCount() > 0 && to - from < (pageSize * 2) - 3) { // if the range to be retrieved is smaller than 2 pages // ask the dataCommunicator to retrieve the items so the cache is used for(int i = from; i < to; i++) {