diff options
author | Leif Åstrand <leif@vaadin.com> | 2014-12-06 15:27:30 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2014-12-06 14:44:01 +0000 |
commit | 3ab4ceaacbb2b38cba8def46e63859ebf0b5746e (patch) | |
tree | ac2138ef550058441c1c8330bbc478c70f6e1612 | |
parent | b1d1e274e74746ee91b835e89fec3017585fd125 (diff) | |
download | vaadin-framework-3ab4ceaacbb2b38cba8def46e63859ebf0b5746e.tar.gz vaadin-framework-3ab4ceaacbb2b38cba8def46e63859ebf0b5746e.zip |
Avoid non-fatal server-side assertions from selection tests (#13334)
Change-Id: I44b00f1d41b763bfbcaa23eea80ebdb1925ea620
-rw-r--r-- | server/src/com/vaadin/data/RpcDataProviderExtension.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/server/src/com/vaadin/data/RpcDataProviderExtension.java b/server/src/com/vaadin/data/RpcDataProviderExtension.java index 6b35ab7f88..c63864f79b 100644 --- a/server/src/com/vaadin/data/RpcDataProviderExtension.java +++ b/server/src/com/vaadin/data/RpcDataProviderExtension.java @@ -680,10 +680,15 @@ public class RpcDataProviderExtension extends AbstractExtension { @Override public void setPinned(String key, boolean isPinned) { + Object itemId = keyMapper.getItemId(key); if (isPinned) { - keyMapper.pin(keyMapper.getItemId(key)); + // Row might already be pinned if it was selected from the + // server + if (!keyMapper.isPinned(itemId)) { + keyMapper.pin(itemId); + } } else { - keyMapper.unpin(keyMapper.getItemId(key)); + keyMapper.unpin(itemId); } } }); |