aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2014-12-06 15:27:30 +0200
committerVaadin Code Review <review@vaadin.com>2014-12-06 14:44:01 +0000
commit3ab4ceaacbb2b38cba8def46e63859ebf0b5746e (patch)
treeac2138ef550058441c1c8330bbc478c70f6e1612
parentb1d1e274e74746ee91b835e89fec3017585fd125 (diff)
downloadvaadin-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.java9
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);
}
}
});