]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fixes #2001 - Dynamic change of OrderedLayout in IE
authorArtur Signell <artur.signell@itmill.com>
Thu, 28 Aug 2008 10:33:00 +0000 (10:33 +0000)
committerArtur Signell <artur.signell@itmill.com>
Thu, 28 Aug 2008 10:33:00 +0000 (10:33 +0000)
svn changeset:5286/svn branch:trunk

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

index 096b2ec07bcc83bb82e00762916bcc10da463c75..71258c192e5ceea4aa7927cf17afbe3efb4f511f 100644 (file)
@@ -14,9 +14,9 @@ import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.Widget;
 import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
 import com.itmill.toolkit.terminal.gwt.client.BrowserInfo;
-import com.itmill.toolkit.terminal.gwt.client.ICaption;
 import com.itmill.toolkit.terminal.gwt.client.Container;
 import com.itmill.toolkit.terminal.gwt.client.ContainerResizedListener;
+import com.itmill.toolkit.terminal.gwt.client.ICaption;
 import com.itmill.toolkit.terminal.gwt.client.Paintable;
 import com.itmill.toolkit.terminal.gwt.client.UIDL;
 import com.itmill.toolkit.terminal.gwt.client.Util;
@@ -150,6 +150,21 @@ public class IOrderedLayout extends Panel implements Container,
         boolean oldTableMode = tableMode;
         tableMode = newTableMode;
 
+        /*
+         * If the child are not detached before the parent is cleared with
+         * setInnerHTML the children will also be cleared in IE
+         */
+        if (BrowserInfo.get().isIE()) {
+            while (true) {
+                Element child = DOM.getFirstChild(getElement());
+                if (child != null) {
+                    DOM.removeChild(getElement(), child);
+                } else {
+                    break;
+                }
+            }
+        }
+
         // Constuct base DOM-structure and clean any already attached
         // widgetwrappers from DOM.
         if (tableMode) {