Hi! This patch fixes a number of bugs in javax.swing packages (and also makes a number of package-visible variables in UIManager private).
ChangeLog entries:
* javax/swing/JFileChooser.java (setCurrentDirectory): Handle null
"dir" case first; call isTraversable for "dir" (if not traversable
then go to the parent until a traversable one is found); call
firePropertyChange() only if new "dir" is not equal to "currentDir"
value (the same as in RI).
* javax/swing/UIManager.java (installed, auxLookAndFeels,
currentLookAndFeel, currentUIDefaults, lookAndFeelDefaults): Make
the static variable private.
* javax/swing/UIManager.java (<clinit>): Use
getCrossPlatformLookAndFeelClassName() instead of a direct
MetalLookAndFeel constructor invocation (in case of unset
"swing.defaultlaf" property).
* javax/swing/UIManager.java (setInstalledLookAndFeels): Check for
null "infos" parameter.
* javax/swing/filechooser/FileSystemView.java (getFiles): Don't call
listFiles() twice; return an empty array in case of a non-existent
directory (as in RI).
* javax/swing/plaf/basic/BasicInternalFrameUI.java (componentResized):
Ignore if "frame" is null.
* javax/swing/plaf/basic/BasicToolBarUI.java (dragTo): Don't call
setBounds() if "p" offset is null.
* javax/swing/plaf/basic/BasicToolBarUI.java (floatAt): Likewise for
setFloatingLocation().
* javax/swing/plaf/basic/BasicToolBarUI.java (mousePressed): Don't
call setOffset() if cachedBounds is null.
* javax/swing/plaf/basic/BasicTreeUI.java (getNodeDimensions): Defend
against null currentCellRenderer.
* javax/swing/text/FieldView.java (checkContainer): Use "c" local
variable (instead of getContainer()) in ChangeListener.stateChanged()
(at least to guard against NPE).
* javax/swing/tree/FixedHeightLayoutCache.java (getBounds): Don't
set r.bounds in case of null returned by getNodeDimensions().
* javax/swing/tree/VariableHeightLayoutCache.java (countRows): If
getNodeDimensions() returns null then use RECT_CACHE and setBounds().
classpath-ivmai-06.diff
Description: Binary data
