Revision: 8141
Author: [email protected]
Date: Fri May 14 03:42:40 2010
Log: Fixes a bug in IE where we swap the tbody but don't update the childContainer in CellListImpl. Also fixes a bug where the table won't refresh if it is set to a size of 0, then goes back to its previous state.

Review at http://gwt-code-reviews.appspot.com/529801

http://code.google.com/p/google-web-toolkit/source/detail?r=8141

Modified:
/branches/2.1/user/src/com/google/gwt/user/cellview/client/CellListImpl.java
 /branches/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java

=======================================
--- /branches/2.1/user/src/com/google/gwt/user/cellview/client/CellListImpl.java Thu May 13 16:21:15 2010 +++ /branches/2.1/user/src/com/google/gwt/user/cellview/client/CellListImpl.java Fri May 14 03:42:40 2010
@@ -44,7 +44,7 @@
   /**
    * The Element that holds the rendered child items.
    */
-  private final Element childContainer;
+  private Element childContainer;

   /**
* The local cache of data in the view. The 0th index in the list corresponds
@@ -279,7 +279,7 @@
       String newContents = sb.toString();
       if (!newContents.equals(lastContents)) {
         lastContents = newContents;
-        renderChildContents(newContents);
+        childContainer = renderChildContents(newContents);
       }
     } else {
       lastContents = null;
@@ -316,6 +316,7 @@
     }
     dataSizeInitialized = true;
     this.dataSize = size;
+    this.lastContents = null;
     updateDataAndView();
     onSizeChanged();
   }
@@ -467,9 +468,11 @@
    * Set the contents of the child container.
    *
    * @param html the html to render in the child
+   * @return the new child container
    */
-  protected void renderChildContents(String html) {
+  protected Element renderChildContents(String html) {
     childContainer.setInnerHTML(html);
+    return childContainer;
   }

   /**
=======================================
--- /branches/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java Thu May 13 11:08:17 2010 +++ /branches/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java Fri May 14 03:42:40 2010
@@ -424,8 +424,8 @@
       }

       @Override
-      protected void renderChildContents(String html) {
-        tbody = TABLE_IMPL.renderSectionContents(tbody, html);
+      protected Element renderChildContents(String html) {
+        return (tbody = TABLE_IMPL.renderSectionContents(tbody, html));
       }

       @Override

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to