]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix table scrolling up on select (#10106) 7.2.2
authorJuuso Valli <juuso@vaadin.com>
Tue, 29 Apr 2014 09:48:07 +0000 (12:48 +0300)
committerJuuso Valli <juuso@vaadin.com>
Wed, 4 Jun 2014 10:29:47 +0000 (13:29 +0300)
Change-Id: I4d13bee983817ce299d1f7e52ddd6cdc725fee6f

client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java

index 6be92d220bbc169483ae3b776ce4964234ea92be..0c09ae49c6f36e7e385fb63b19e2a88b31515a1b 100644 (file)
@@ -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();
         }