aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/LayoutManager.java27
1 files changed, 18 insertions, 9 deletions
diff --git a/client/src/com/vaadin/client/LayoutManager.java b/client/src/com/vaadin/client/LayoutManager.java
index f77b61a5a3..dfcf2cb5bb 100644
--- a/client/src/com/vaadin/client/LayoutManager.java
+++ b/client/src/com/vaadin/client/LayoutManager.java
@@ -605,15 +605,7 @@ public class LayoutManager {
ComponentConnector componentConnector = (ComponentConnector) connectorMap
.getConnector(connectorId);
- // Delay the overflow fix if the involved connectors might still
- // change
- boolean connectorChangesExpected = !currentDependencyTree
- .noMoreChangesExpected(componentConnector);
- boolean parentChangesExcpected = componentConnector.getParent() instanceof ComponentConnector
- && !currentDependencyTree
- .noMoreChangesExpected((ComponentConnector) componentConnector
- .getParent());
- if (connectorChangesExpected || parentChangesExcpected) {
+ if (delayOverflowFix(componentConnector)) {
delayedOverflowFixes.add(connectorId);
continue;
}
@@ -732,6 +724,23 @@ public class LayoutManager {
return measureCount;
}
+ /*
+ * Delay the overflow fix if the involved connectors might still change
+ */
+ private boolean delayOverflowFix(ComponentConnector componentConnector) {
+ if (!currentDependencyTree.noMoreChangesExpected(componentConnector)) {
+ return true;
+ }
+ ServerConnector parent = componentConnector.getParent();
+ if (parent instanceof ComponentConnector
+ && !currentDependencyTree
+ .noMoreChangesExpected((ComponentConnector) parent)) {
+ return true;
+ }
+
+ return false;
+ }
+
private void measureConnector(ComponentConnector connector) {
Profiler.enter("LayoutManager.measureConnector");
Element element = connector.getWidget().getElement();