aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java b/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
index 6be92d220b..0c09ae49c6 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
@@ -17,6 +17,8 @@ package com.vaadin.client.ui.orderedlayout;
import java.util.List;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.Widget;
@@ -505,7 +507,15 @@ public abstract class AbstractOrderedLayoutConnector extends
updateLayoutHeight();
if (needsExpand()) {
getWidget().updateExpandedSizes();
- getWidget().updateExpandCompensation();
+ // updateExpandedSizes causes fixed size components to temporarily
+ // lose their size. updateExpandCompensation must be delayed until
+ // the browser has a chance to measure them.
+ Scheduler.get().scheduleFinally(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ getWidget().updateExpandCompensation();
+ }
+ });
} else {
getWidget().clearExpand();
}