These are many bugs I ran into when running several applications. There
are more I have found and will fix soon!

2005-07-28  Lillian Angel  <[EMAIL PROTECTED]>

        * java/awt/GridBagLayout.java
        (distributeSizeAndWeight): added in check, because OutOfBounds 
        exception was being raised.
        * javax/swing/JTable.java
        (setRowHeight): Added in, but not implemented.
        * javax/swing/plaf/basic/BasicComboBoxEditor.java
        (setItem): added in check, because NullPointerException was 
        being raised.
        * javax/swing/plaf/basic/BasicTreeUI.java
        (getPathBounds): Took out unneeded call.
        (uninstallListeners): added in check, because NPE was being 
        raised.
        (installUI): took out unneeded call.
        (paint): Likewise.
        (getPreferredSize): Should not assume root is an instance of 
        DefaultMutableTreeNode. Changed to use TreeNode instead.
        (getCellBounds): Should never return null
        (getCellLocation): Took out unneeded call.

Index: java/awt/GridBagLayout.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/GridBagLayout.java,v
retrieving revision 1.19
diff -u -r1.19 GridBagLayout.java
--- java/awt/GridBagLayout.java	10 Jul 2005 17:24:51 -0000	1.19
+++ java/awt/GridBagLayout.java	28 Jul 2005 19:27:26 -0000
@@ -913,7 +913,7 @@
           sizes[start] = Math.max(sizes[start], size);
           weights[start] = Math.max(weights[start], weight);
         }
-      else
+      else if (span > 1)
         {
           int numOccupied = span;
           int lastOccupied = -1;
Index: javax/swing/JTable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JTable.java,v
retrieving revision 1.36
diff -u -r1.36 JTable.java
--- javax/swing/JTable.java	25 Jul 2005 14:48:53 -0000	1.36
+++ javax/swing/JTable.java	28 Jul 2005 19:27:26 -0000
@@ -1469,7 +1469,20 @@
     revalidate();
     repaint();
   }
-
+  
+  /**
+   * Sets the value of the rowHeight property for the specified
+   * row.
+   * 
+   * @param rh is the new rowHeight
+   * @param row is the row to change the rowHeight of
+   */
+  public void setRowHeight(int rh, int row)
+  {
+     setRowHeight(rh);
+     // FIXME: not implemented
+  }
+  
   /**
    * Set the value of the [EMAIL PROTECTED] #rowMargin} property.
    *
Index: javax/swing/plaf/basic/BasicComboBoxEditor.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicComboBoxEditor.java,v
retrieving revision 1.5
diff -u -r1.5 BasicComboBoxEditor.java
--- javax/swing/plaf/basic/BasicComboBoxEditor.java	8 Jul 2005 15:24:08 -0000	1.5
+++ javax/swing/plaf/basic/BasicComboBoxEditor.java	28 Jul 2005 19:27:27 -0000
@@ -91,7 +91,10 @@
    */
   public void setItem(Object item)
   {
-    editor.setText(item.toString());
+     if (item == null)
+        editor.setText("");
+     else
+        editor.setText(item.toString());
   }
 
   /**
Index: javax/swing/plaf/basic/BasicTreeUI.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTreeUI.java,v
retrieving revision 1.48
diff -u -r1.48 BasicTreeUI.java
--- javax/swing/plaf/basic/BasicTreeUI.java	25 Jul 2005 17:37:48 -0000	1.48
+++ javax/swing/plaf/basic/BasicTreeUI.java	28 Jul 2005 19:27:27 -0000
@@ -588,8 +588,7 @@
          TreeModel mod = tree.getModel();
          DefaultMutableTreeNode root = (DefaultMutableTreeNode) mod.getRoot();
          if (!tree.isRootVisible()
-               && tree.isExpanded(new TreePath(((DefaultMutableTreeNode) root)
-                     .getPath())))
+               && tree.isExpanded(new TreePath(root)))
             root = root.getNextNode();
 
          Point loc = getCellLocation(0, 0, tree, mod, cell, root);
@@ -973,9 +972,14 @@
       tree.removeKeyListener(keyListener);
       tree.removePropertyChangeListener(selectionModelPropertyChangeListener);
       tree.removeComponentListener(componentListener);
-      tree.getCellEditor().removeCellEditorListener(cellEditorListener);
       tree.removeTreeExpansionListener(treeExpansionListener);
-      tree.getModel().removeTreeModelListener(treeModelListener);
+      
+      TreeCellEditor tce = tree.getCellEditor();
+      if (tce != null)
+         tce.removeCellEditorListener(cellEditorListener);
+      TreeModel tm = tree.getModel();
+      if (tm != null)
+         tm.removeTreeModelListener(treeModelListener);
    }
 
    /**
@@ -1179,8 +1183,7 @@
       tree = (JTree) c;
       setModel(tree.getModel());
       tree.setRootVisible(true);
-      tree.expandPath(new TreePath(((DefaultMutableTreeNode) 
-            (tree.getModel()).getRoot()).getPath()));
+      tree.expandPath(new TreePath(tree.getModel().getRoot()));
       treeSelectionModel = tree.getSelectionModel();
       installListeners();
       installKeyboardActions();
@@ -1233,8 +1236,7 @@
       Object root = mod.getRoot();
       
       if (!tree.isRootVisible())
-         tree.expandPath(new TreePath(((DefaultMutableTreeNode) root)
-               .getPath()));
+         tree.expandPath(new TreePath(root));
       
       paintRecursive(g, 0, 0, 0, 0, tree, mod, root);
       
@@ -1299,7 +1301,7 @@
    public Dimension getPreferredSize(JComponent c, boolean checkConsistancy)
    {
       // FIXME: checkConsistancy not implemented, c not used
-      DefaultMutableTreeNode node = ((DefaultMutableTreeNode) (tree.getModel())
+      TreeNode node = ((TreeNode) (tree.getModel())
             .getRoot());
       int maxWidth = 0;
       int count = 0;
@@ -1309,14 +1311,14 @@
          while (node != null)
          {
             count++;
-            DefaultMutableTreeNode nextNode = getNextVisibleNode(node);
+            DefaultMutableTreeNode nextNode = getNextVisibleNode(
+                  new DefaultMutableTreeNode(node));
             if (nextNode != null)
                maxWidth = Math.max(maxWidth, (int) (getCellBounds(0, 0, nextNode)
                      .getWidth()));
             node = nextNode;
          }
       }
-      
       return new Dimension(maxWidth, (getRowHeight() * count));
    }
 
@@ -2507,10 +2509,11 @@
          Font f = tree.getFont();
          FontMetrics fm = tree.getToolkit().getFontMetrics(tree.getFont());
 
-         return new Rectangle(x, y, SwingUtilities.computeStringWidth(fm, s) + 4,
-               fm.getHeight());
+         if (s != null)
+            return new Rectangle(x, y, SwingUtilities.computeStringWidth(fm, s) + 4,
+                  fm.getHeight());
       }
-      return null;
+      return new Rectangle(x, y, 0, 0);
    }
    
    /**
@@ -2533,8 +2536,7 @@
       int rowHeight = getRowHeight();
       if (startNode == null || startNode.equals(node))
       {
-         if (!tree.isRootVisible() && tree.isExpanded(new TreePath((
-               (DefaultMutableTreeNode) mod.getRoot()).getPath())))
+         if (!tree.isRootVisible() && tree.isExpanded(new TreePath(mod.getRoot())))
             return new Point(x + ((((DefaultMutableTreeNode) node).getLevel())
                   * rightChildIndent), y);
          
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to