From f31e0978958ba735824a0bcc51b0f18f1ea20b86 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Tue, 27 Feb 2018 17:05:22 +0200 Subject: Fix client and server filter state mismatch in Combobox (#10630) Fixes #10624 --- .../java/com/vaadin/client/ui/combobox/ComboBoxConnector.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'client') diff --git a/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java b/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java index 334b630724..544f041770 100644 --- a/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java +++ b/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java @@ -196,7 +196,7 @@ public class ComboBoxConnector extends AbstractListingConnector * the current filter string */ protected void setFilter(String filter) { - if (!Objects.equals(filter, getWidget().lastFilter)) { + if (!Objects.equals(filter, getState().currentFilterText)) { getDataReceivedHandler().clearPendingNavigation(); rpc.setFilter(filter); @@ -243,10 +243,9 @@ public class ComboBoxConnector extends AbstractListingConnector page = 0; } VComboBox widget = getWidget(); - int adjustment = widget.nullSelectionAllowed && filter.isEmpty() - ? 1 : 0; - int startIndex = Math.max(0, - page * widget.pageLength - adjustment); + int adjustment = widget.nullSelectionAllowed && filter.isEmpty() ? 1 + : 0; + int startIndex = Math.max(0, page * widget.pageLength - adjustment); int pageLength = widget.pageLength > 0 ? widget.pageLength : getDataSource().size(); getDataSource().ensureAvailability(startIndex, pageLength); -- cgit v1.2.3