diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/main/java/com/vaadin/data/provider/DataCommunicator.java | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/server/src/main/java/com/vaadin/data/provider/DataCommunicator.java b/server/src/main/java/com/vaadin/data/provider/DataCommunicator.java index 3df69d45f3..f5d2d087e6 100644 --- a/server/src/main/java/com/vaadin/data/provider/DataCommunicator.java +++ b/server/src/main/java/com/vaadin/data/provider/DataCommunicator.java @@ -665,7 +665,8 @@ public class DataCommunicator<T> extends AbstractExtension { if (isAttached()) { attachDataProviderListener(); } - hardReset(); + reset = true; + markAsDirty(); return filter -> { if (this.dataProvider != dataProvider) { @@ -764,16 +765,12 @@ public class DataCommunicator<T> extends AbstractExtension { generators.forEach(g -> g.refreshData(item)); getUI().access(() -> refresh(item)); } else { - getUI().access(this::hardReset); + reset = true; + getUI().access(() -> markAsDirty()); } }); } - private void hardReset() { - reset = true; - markAsDirty(); - } - private void detachDataProviderListener() { if (dataProviderUpdateRegistration != null) { dataProviderUpdateRegistration.remove(); |