summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/src/main/java/com/vaadin/client/connectors/SingleSelectionModelConnector.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/client/src/main/java/com/vaadin/client/connectors/SingleSelectionModelConnector.java b/client/src/main/java/com/vaadin/client/connectors/SingleSelectionModelConnector.java
index ea0d6171af..55c1eddf61 100644
--- a/client/src/main/java/com/vaadin/client/connectors/SingleSelectionModelConnector.java
+++ b/client/src/main/java/com/vaadin/client/connectors/SingleSelectionModelConnector.java
@@ -153,8 +153,14 @@ public class SingleSelectionModelConnector extends
@Override
public boolean deselect(JsonObject row) {
- if (getRowHandle(row).equals(selectedRow)) {
- select(null);
+ if (isSelected(row)) {
+ // If no selection has happened client side, then selectedRow is
+ // null but must be set so that a deselection event with the
+ // correct key can be sent to the server
+ selectedRow = getRowHandle(row);
+ selectedRow.pin();
+
+ return select(null);
}
return false;
}