diff options
-rw-r--r-- | client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java | 12 |
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(); } |