diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java index 6e2602ff9c..46d519c240 100644 --- a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java +++ b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java @@ -1393,8 +1393,17 @@ public abstract class AbstractCommunicationManager implements Serializable { final String burst) { boolean success = true; try { + Set<Connector> enabledConnectors = new HashSet<Connector>(); + List<MethodInvocation> invocations = parseInvocations(burst); + for (MethodInvocation invocation : invocations) { + final ClientConnector connector = getConnector(app, + invocation.getConnectorId()); + if (connector.isConnectorEnabled()) { + enabledConnectors.add(connector); + } + } for (int i = 0; i < invocations.size(); i++) { MethodInvocation invocation = invocations.get(i); @@ -1412,7 +1421,7 @@ public abstract class AbstractCommunicationManager implements Serializable { continue; } - if (!connector.isConnectorEnabled()) { + if (!enabledConnectors.contains(connector)) { if (invocation instanceof LegacyChangeVariablesInvocation) { LegacyChangeVariablesInvocation legacyInvocation = (LegacyChangeVariablesInvocation) invocation; |