summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/terminal/AbstractClientConnector.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/terminal/AbstractClientConnector.java')
-rw-r--r--server/src/com/vaadin/terminal/AbstractClientConnector.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/server/src/com/vaadin/terminal/AbstractClientConnector.java b/server/src/com/vaadin/terminal/AbstractClientConnector.java
index 53b3bb1c9d..2b96c5fb35 100644
--- a/server/src/com/vaadin/terminal/AbstractClientConnector.java
+++ b/server/src/com/vaadin/terminal/AbstractClientConnector.java
@@ -146,6 +146,12 @@ public abstract class AbstractClientConnector implements ClientConnector {
if (null == sharedState) {
sharedState = createState();
}
+
+ Root root = getRoot();
+ if (root != null && !root.getConnectorTracker().isDirty(this)) {
+ requestRepaint();
+ }
+
return sharedState;
}
@@ -280,8 +286,6 @@ public abstract class AbstractClientConnector implements ClientConnector {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
addMethodInvocationToQueue(rpcInterfaceName, method, args);
- // TODO no need to do full repaint if only RPC calls
- requestRepaint();
return null;
}
@@ -304,6 +308,8 @@ public abstract class AbstractClientConnector implements ClientConnector {
// add to queue
pendingInvocations.add(new ClientMethodInvocation(this, interfaceName,
method, parameters));
+ // TODO no need to do full repaint if only RPC calls
+ requestRepaint();
}
/**