diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/com/vaadin/server/AbstractCommunicationManager.java | 27 | ||||
-rw-r--r-- | server/src/com/vaadin/ui/Table.java | 9 |
2 files changed, 22 insertions, 14 deletions
diff --git a/server/src/com/vaadin/server/AbstractCommunicationManager.java b/server/src/com/vaadin/server/AbstractCommunicationManager.java index 5bbf8f5cea..43a9ced608 100644 --- a/server/src/com/vaadin/server/AbstractCommunicationManager.java +++ b/server/src/com/vaadin/server/AbstractCommunicationManager.java @@ -820,22 +820,21 @@ public abstract class AbstractCommunicationManager implements Serializable { requireLocale(session.getLocale().toString()); } - uiConnectorTracker.setWritingResponse(true); - try { + dirtyVisibleConnectors + .addAll(getDirtyVisibleConnectors(uiConnectorTracker)); - dirtyVisibleConnectors - .addAll(getDirtyVisibleConnectors(uiConnectorTracker)); - - getLogger().log( - Level.FINE, - "Found " + dirtyVisibleConnectors.size() - + " dirty connectors to paint"); - for (ClientConnector connector : dirtyVisibleConnectors) { - boolean initialized = uiConnectorTracker - .isClientSideInitialized(connector); - connector.beforeClientResponse(!initialized); - } + getLogger().log( + Level.FINE, + "Found " + dirtyVisibleConnectors.size() + + " dirty connectors to paint"); + for (ClientConnector connector : dirtyVisibleConnectors) { + boolean initialized = uiConnectorTracker + .isClientSideInitialized(connector); + connector.beforeClientResponse(!initialized); + } + uiConnectorTracker.setWritingResponse(true); + try { outWriter.print("\"changes\":["); List<InvalidLayout> invalidComponentRelativeSizes = null; diff --git a/server/src/com/vaadin/ui/Table.java b/server/src/com/vaadin/ui/Table.java index d9e1403a03..242593c20d 100644 --- a/server/src/com/vaadin/ui/Table.java +++ b/server/src/com/vaadin/ui/Table.java @@ -2867,6 +2867,15 @@ public class Table extends AbstractSelect implements Action.Container, } } + @Override + public void beforeClientResponse(boolean initial) { + super.beforeClientResponse(initial); + + // Ensure pageBuffer is filled before sending the response to avoid + // calls to markAsDirty during paint + getVisibleCells(); + } + /* * (non-Javadoc) * |