aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/data/AbstractRemoteDataSource.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java b/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java
index bda923ef6f..ff8847ea44 100644
--- a/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java
+++ b/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java
@@ -210,7 +210,16 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
cached = newUsefulData;
} else {
discardStaleCacheEntries();
- cached = cached.combineWith(newUsefulData);
+
+ /*
+ * everything might've become stale so we need to re-check for
+ * emptiness.
+ */
+ if (!cached.isEmpty()) {
+ cached = cached.combineWith(newUsefulData);
+ } else {
+ cached = newUsefulData;
+ }
}
}