aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/event/ActionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/event/ActionManager.java')
-rw-r--r--server/src/com/vaadin/event/ActionManager.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/server/src/com/vaadin/event/ActionManager.java b/server/src/com/vaadin/event/ActionManager.java
index b42a5d8dde..6eb698d08a 100644
--- a/server/src/com/vaadin/event/ActionManager.java
+++ b/server/src/com/vaadin/event/ActionManager.java
@@ -78,7 +78,10 @@ public class ActionManager implements Action.Container, Action.Handler,
public <T extends Component & Container & VariableOwner> void setViewer(
T viewer) {
- if (viewer == this.viewer) {
+ // This somewhat complicated check exists to make sure that proxies are
+ // handled correctly
+ if (this.viewer == viewer
+ || (this.viewer != null && this.viewer.equals(viewer))) {
return;
}
if (this.viewer != null) {
@@ -113,7 +116,7 @@ public class ActionManager implements Action.Container, Action.Handler,
@Override
public void addActionHandler(Handler actionHandler) {
- if (actionHandler == this) {
+ if (equals(actionHandler)) {
// don't add the actionHandler to itself
return;
}