]> source.dussan.org Git - vaadin-framework.git/commitdiff
form now changes layout properly
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 28 May 2008 08:04:08 +0000 (08:04 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 28 May 2008 08:04:08 +0000 (08:04 +0000)
svn changeset:4656/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java

index 98d3ac7077413081ffc543f8326ae508370efa5f..14ab4d3f838d9273ca8a100c047cd9c121010b23 100644 (file)
@@ -101,8 +101,14 @@ public class IForm extends ComplexPanel implements Paintable,
         iLayout();\r
 \r
         final UIDL layoutUidl = uidl.getChildUIDL(0);\r
+        Container newLo = (Container) client.getPaintable(layoutUidl);\r
         if (lo == null) {\r
-            lo = (Container) client.getPaintable(layoutUidl);\r
+            lo = newLo;\r
+            add((Widget) lo, fieldContainer);\r
+        } else if (lo != newLo) {\r
+            client.unregisterPaintable(lo);\r
+            remove((Widget) lo);\r
+            lo = newLo;\r
             add((Widget) lo, fieldContainer);\r
         }\r
         lo.updateFromUIDL(layoutUidl, client);\r