]> source.dussan.org Git - vaadin-framework.git/commitdiff
Treat initial rendering and style changes separately. (#13444)
authorMarkus Koivisto <markus@vaadin.com>
Wed, 21 May 2014 12:33:31 +0000 (15:33 +0300)
committerSauli Tähkäpää <sauli@vaadin.com>
Thu, 22 May 2014 07:52:41 +0000 (07:52 +0000)
This fixes a regression caused by a previous patch, which led to empty comboboxes being initialised with a zero width.

Change-Id: I7e5ca0c563625c453e0e3006d91ed52ad227d6f0

client/src/com/vaadin/client/ui/combobox/ComboBoxConnector.java

index 97e8f8363b3c5b967712e8199616736e697aa9ff..c3cdb437033a620c7363ef6267e91a12e083d0b0 100644 (file)
@@ -50,7 +50,7 @@ public class ComboBoxConnector extends AbstractFieldConnector implements
 
     /*
      * (non-Javadoc)
-     *
+     * 
      * @see com.vaadin.client.Paintable#updateFromUIDL(com.vaadin.client.UIDL,
      * com.vaadin.client.ApplicationConnection)
      */
@@ -200,11 +200,17 @@ public class ComboBoxConnector extends AbstractFieldConnector implements
 
         getWidget().popupOpenerClicked = false;
 
-        // styles have changed or this is our first time - either way we
-        // need to recalculate the root width.
-        if (!getWidget().initDone || stylesChanged) {
-            boolean forceUpdate = true;
-            getWidget().updateRootWidth(forceUpdate);
+        /*
+         * if styles have changed or this is our first time we need to
+         * recalculate the root width.
+         */
+        if (!getWidget().initDone) {
+            // no need to force update since we have no existing width
+            getWidget().updateRootWidth(false);
+        } else if (stylesChanged) {
+            // we have previously calculated a width, we must force an update
+            // due to changed styles
+            getWidget().updateRootWidth(true);
         }
 
         // Focus dependent style names are lost during the update, so we add