diff options
-rw-r--r-- | client/src/com/vaadin/client/data/AbstractRemoteDataSource.java | 11 |
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; + } } } |