From a0a9eee14fed0d5c6b7a8ae5b5f9185d7cef1279 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 --- server/src/main/java/com/vaadin/ui/ComboBox.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'server/src') diff --git a/server/src/main/java/com/vaadin/ui/ComboBox.java b/server/src/main/java/com/vaadin/ui/ComboBox.java index 9500d08c96..50665fd877 100644 --- a/server/src/main/java/com/vaadin/ui/ComboBox.java +++ b/server/src/main/java/com/vaadin/ui/ComboBox.java @@ -206,7 +206,7 @@ public class ComboBox extends AbstractSingleSelect @Override public void setFilter(String filterText) { - currentFilterText = filterText; + getState().currentFilterText = filterText; filterSlot.accept(filterText); } }; @@ -224,8 +224,6 @@ public class ComboBox extends AbstractSingleSelect private StyleGenerator itemStyleGenerator = item -> null; - private String currentFilterText; - private SerializableConsumer filterSlot = filter -> { // Just ignore when neither setDataProvider nor setItems has been called }; @@ -890,7 +888,8 @@ public class ComboBox extends AbstractSingleSelect }; SerializableConsumer providerFilterSlot = internalSetDataProvider( - dataProvider, convertOrNull.apply(currentFilterText)); + dataProvider, + convertOrNull.apply(getState(false).currentFilterText)); filterSlot = filter -> providerFilterSlot .accept(convertOrNull.apply(filter)); -- cgit v1.2.3