Hi,

In a couple of places TableView does already check whether the rowView
used is actually an instance of RowView, but not in all places. This
patches fixes that:

2006-11-25  Mark Wielaard  <[EMAIL PROTECTED]>

    * javax/swing/text/html/TableView.java (calculateColumnRequirements):
    Check whether rowView instanceof RowView.
    (updateGrid): Likewise.

This makes the suse coolblogs render better.

Committed,

Mark
Index: javax/swing/text/html/TableView.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/html/TableView.java,v
retrieving revision 1.9
diff -u -r1.9 TableView.java
--- javax/swing/text/html/TableView.java	20 Nov 2006 11:18:04 -0000	1.9
+++ javax/swing/text/html/TableView.java	25 Nov 2006 18:43:57 -0000
@@ -427,8 +427,12 @@
     // all columns of all rows.
     for (int r = 0; r < numRows; r++)
       {
-        RowView rowView = (RowView) getView(r);
-        int numCols = rowView.getViewCount();
+        View rowView = getView(r);
+        int numCols;
+        if (rowView instanceof RowView)
+          numCols = ((RowView) rowView).getViewCount();
+        else
+          numCols = 0;
 
         // We collect the normal (non-relative) column requirements in the
         // total variable and the relative requirements in the relTotal
@@ -665,15 +669,23 @@
         int numRows = getViewCount();
         for (int r = 0; r < numRows; r++)
           {
-            RowView rowView = (RowView) getView(r);
-            int numCols = rowView.getViewCount();
+            View rowView = getView(r);
+            int numCols;
+            if (rowView instanceof RowView)
+              numCols = ((RowView) rowView).getViewCount();
+            else
+              numCols = 0;
             maxColumns = Math.max(numCols, maxColumns);
           }
         columnWidths = new Length[maxColumns];
         for (int r = 0; r < numRows; r++)
           {
-            RowView rowView = (RowView) getView(r);
-            int numCols = rowView.getViewCount();
+            View rowView = getView(r);
+            int numCols;
+            if (rowView instanceof RowView)
+              numCols = ((RowView) rowView).getViewCount();
+            else
+              numCols = 0;
             int colIndex = 0;
             for (int c = 0; c < numCols; c++)
               {

Reply via email to