From 228fc33f661314b6723b691635085ee4ff6a69b2 Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Tue, 5 Sep 2006 20:47:38 +0000 Subject: 2006-09-05 Andrew John Hughes * Merge of HEAD-->generics from 2006/08/12 to 2006/09/03. --- ChangeLog | 2105 ++++++++++++++++++++ NEWS | 5 + configure.ac | 41 +- doc/www.gnu.org/announce/20060809.wml | 225 +++ doc/www.gnu.org/downloads/downloads.wml | 14 +- doc/www.gnu.org/newsitems.txt | 5 + examples/gnu/classpath/examples/swing/Demo.java | 94 +- .../gnu/classpath/examples/swing/HtmlDemo.java | 53 +- .../classpath/examples/swing/TabbedPaneDemo.java | 145 +- .../gnu/classpath/examples/swing/TreeDemo.java | 35 +- gnu/java/awt/color/PyccConverter.java | 9 +- gnu/java/io/ObjectIdentityMap2Int.java | 292 +++ gnu/java/net/local/LocalSocketImpl.java | 7 +- gnu/java/rmi/server/RMIClassLoaderImpl.java | 67 +- gnu/java/rmi/server/RMIObjectInputStream.java | 61 +- gnu/java/security/Engine.java | 174 +- gnu/java/util/prefs/NodeReader.java | 2 - gnu/java/util/prefs/NodeWriter.java | 3 - gnu/java/util/regex/CharIndexed.java | 17 + gnu/java/util/regex/CharIndexedCharSequence.java | 13 + gnu/java/util/regex/CharIndexedInputStream.java | 14 + gnu/java/util/regex/RE.java | 26 +- gnu/java/util/regex/REMatch.java | 4 +- gnu/java/util/regex/REToken.java | 15 + gnu/java/util/regex/RETokenChar.java | 12 +- gnu/java/util/regex/RETokenEnd.java | 15 + gnu/java/util/regex/RETokenEndSub.java | 4 + gnu/java/util/regex/RETokenOneOf.java | 1 + gnu/java/util/regex/RETokenRepeated.java | 1 + gnu/javax/rmi/CORBA/UtilDelegateImpl.java | 30 +- .../auth/callback/AbstractCallbackHandler.java | 97 +- gnu/javax/swing/text/html/css/CSSColor.java | 134 ++ .../swing/text/html/css/CSSLexicalException.java | 60 + gnu/javax/swing/text/html/css/CSSParser.java | 470 +++++ .../swing/text/html/css/CSSParserCallback.java | 81 + .../swing/text/html/css/CSSParserException.java | 62 + gnu/javax/swing/text/html/css/CSSScanner.java | 717 +++++++ gnu/javax/swing/text/html/css/FontSize.java | 156 ++ gnu/javax/swing/text/html/css/FontStyle.java | 80 + gnu/javax/swing/text/html/css/FontWeight.java | 84 + gnu/javax/swing/text/html/css/Length.java | 90 + gnu/javax/swing/text/html/parser/HTML_401F.java | 4 +- .../text/html/parser/support/textPreProcessor.java | 30 +- include/gnu_java_awt_peer_gtk_ComponentGraphics.h | 2 +- include/gnu_java_awt_peer_gtk_GtkChoicePeer.h | 6 +- include/gnu_java_awt_peer_gtk_GtkToolkit.h | 4 +- include/jvmti.h | 26 +- java/awt/Color.java | 33 +- java/awt/Component.java | 8 +- java/awt/Container.java | 36 +- java/awt/MenuShortcut.java | 233 ++- java/awt/dnd/DropTargetDragEvent.java | 3 +- java/awt/image/AffineTransformOp.java | 373 ++-- java/awt/image/BandCombineOp.java | 114 +- java/awt/image/ColorConvertOp.java | 443 ++-- java/awt/image/ColorModel.java | 2 +- java/awt/image/ComponentColorModel.java | 22 +- java/awt/image/ConvolveOp.java | 128 +- java/io/File.java | 76 +- java/io/FileDescriptor.java | 5 +- java/io/InputStreamReader.java | 60 +- java/io/ObjectInputStream.java | 99 +- java/io/ObjectOutputStream.java | 355 +--- java/io/ObjectStreamClass.java | 443 ++-- java/io/ObjectStreamField.java | 2 +- java/io/PrintStream.java | 2 +- java/lang/management/ManagementFactory.java | 43 + java/lang/ref/Reference.java | 13 +- java/lang/ref/ReferenceQueue.java | 57 +- java/math/BigInteger.java | 60 +- java/net/SocketPermission.java | 61 +- java/security/AlgorithmParameterGenerator.java | 100 +- java/security/AlgorithmParameters.java | 122 +- java/security/KeyFactory.java | 99 +- java/security/KeyPairGenerator.java | 91 +- java/security/KeyStore.java | 132 +- java/security/MessageDigest.java | 109 +- java/security/SecureClassLoader.java | 52 +- java/security/SecureRandom.java | 126 +- java/security/Signature.java | 105 +- java/security/cert/CertPathBuilder.java | 113 +- java/security/cert/CertPathValidator.java | 103 +- java/security/cert/CertStore.java | 115 +- java/security/cert/CertificateFactory.java | 126 +- java/util/Calendar.java | 33 +- java/util/Locale.java | 48 +- java/util/ResourceBundle.java | 134 +- java/util/Vector.java | 12 +- java/util/regex/Matcher.java | 26 +- java/util/zip/ZipFile.java | 109 +- javax/crypto/Cipher.java | 199 +- javax/crypto/ExemptionMechanism.java | 117 +- javax/crypto/KeyAgreement.java | 116 +- javax/crypto/KeyGenerator.java | 114 +- javax/crypto/Mac.java | 118 +- javax/crypto/SecretKeyFactory.java | 108 +- javax/net/ssl/KeyManagerFactory.java | 106 +- javax/net/ssl/SSLContext.java | 125 +- javax/net/ssl/TrustManagerFactory.java | 103 +- javax/swing/AbstractButton.java | 85 +- javax/swing/DefaultButtonModel.java | 2 +- javax/swing/JComponent.java | 700 +++---- javax/swing/JEditorPane.java | 32 +- javax/swing/JList.java | 218 +- javax/swing/JMenu.java | 182 +- javax/swing/JMenuItem.java | 16 + javax/swing/JPopupMenu.java | 14 + javax/swing/JTabbedPane.java | 26 +- javax/swing/JTable.java | 57 +- javax/swing/JTextPane.java | 19 +- javax/swing/JToolTip.java | 14 + javax/swing/JTree.java | 45 +- javax/swing/JViewport.java | 4 +- javax/swing/RepaintManager.java | 205 +- javax/swing/ScrollPaneLayout.java | 38 +- javax/swing/SwingUtilities.java | 168 +- javax/swing/event/EventListenerList.java | 50 + javax/swing/filechooser/FileSystemView.java | 12 +- javax/swing/plaf/basic/BasicButtonListener.java | 134 +- javax/swing/plaf/basic/BasicButtonUI.java | 215 +- javax/swing/plaf/basic/BasicFileChooserUI.java | 8 +- javax/swing/plaf/basic/BasicGraphicsUtils.java | 55 +- javax/swing/plaf/basic/BasicHTML.java | 26 + javax/swing/plaf/basic/BasicLabelUI.java | 57 +- javax/swing/plaf/basic/BasicLookAndFeel.java | 17 +- javax/swing/plaf/basic/BasicMenuItemUI.java | 45 +- javax/swing/plaf/basic/BasicRadioButtonUI.java | 57 +- javax/swing/plaf/basic/BasicScrollBarUI.java | 12 +- javax/swing/plaf/basic/BasicScrollPaneUI.java | 33 +- javax/swing/plaf/basic/BasicSplitPaneDivider.java | 412 ++-- javax/swing/plaf/basic/BasicSplitPaneUI.java | 320 ++- javax/swing/plaf/basic/BasicTabbedPaneUI.java | 310 ++- javax/swing/plaf/basic/BasicTableHeaderUI.java | 8 +- javax/swing/plaf/basic/BasicTextUI.java | 473 +++-- javax/swing/plaf/basic/BasicToolTipUI.java | 123 +- javax/swing/plaf/basic/BasicTreeUI.java | 503 +++-- javax/swing/plaf/metal/MetalButtonUI.java | 72 +- javax/swing/plaf/metal/MetalCheckBoxIcon.java | 11 +- javax/swing/plaf/metal/MetalLookAndFeel.java | 19 +- javax/swing/plaf/metal/MetalSplitPaneDivider.java | 281 +-- javax/swing/plaf/metal/MetalTabbedPaneUI.java | 2 +- javax/swing/plaf/metal/MetalToolTipUI.java | 70 +- javax/swing/plaf/metal/MetalTreeUI.java | 122 +- javax/swing/table/DefaultTableModel.java | 2 +- javax/swing/text/BoxView.java | 350 ++-- javax/swing/text/ComponentView.java | 319 ++- javax/swing/text/CompositeView.java | 166 +- javax/swing/text/DefaultEditorKit.java | 365 ++-- javax/swing/text/DefaultFormatter.java | 2 +- javax/swing/text/DefaultStyledDocument.java | 66 +- javax/swing/text/FieldView.java | 4 +- javax/swing/text/FlowView.java | 10 + javax/swing/text/GapContent.java | 4 +- javax/swing/text/GlyphView.java | 72 +- javax/swing/text/InternationalFormatter.java | 2 +- javax/swing/text/LabelView.java | 32 +- javax/swing/text/MaskFormatter.java | 377 ++-- javax/swing/text/ParagraphView.java | 59 +- javax/swing/text/PlainView.java | 12 +- javax/swing/text/Position.java | 4 +- javax/swing/text/SimpleAttributeSet.java | 14 +- javax/swing/text/StringContent.java | 304 ++- javax/swing/text/StyleConstants.java | 11 + javax/swing/text/StyleContext.java | 572 ++++-- javax/swing/text/StyledEditorKit.java | 46 +- javax/swing/text/TextAction.java | 51 +- javax/swing/text/Utilities.java | 69 +- javax/swing/text/View.java | 78 +- javax/swing/text/WrappedPlainView.java | 175 +- javax/swing/text/ZoneView.java | 442 ++++ javax/swing/text/html/CSS.java | 35 + javax/swing/text/html/HTMLDocument.java | 85 +- javax/swing/text/html/HTMLEditorKit.java | 33 +- javax/swing/text/html/InlineView.java | 52 +- javax/swing/text/html/MultiAttributeSet.java | 213 ++ javax/swing/text/html/MultiStyle.java | 136 ++ javax/swing/text/html/ParagraphView.java | 59 +- javax/swing/text/html/StyleSheet.java | 616 +++--- javax/swing/text/html/ViewAttributeSet.java | 163 ++ javax/swing/tree/DefaultTreeCellEditor.java | 322 +-- javax/swing/tree/DefaultTreeCellRenderer.java | 16 +- javax/swing/tree/VariableHeightLayoutCache.java | 4 +- lib/Makefile.am | 14 +- m4/gcc_attribute.m4 | 133 ++ native/Makefile.am | 4 +- native/jni/Makefile.am | 5 +- .../gnu_java_awt_peer_gtk_GdkPixbufDecoder.c | 21 +- native/jni/java-io/Makefile.am | 3 +- native/jni/java-io/java_io_VMFile.c | 206 +- native/jni/java-lang/Makefile.am | 3 +- native/jni/java-lang/java_lang_VMProcess.c | 162 +- native/jni/java-net/Makefile.am | 4 +- .../gnu_java_net_VMPlainDatagramSocketImpl.c | 99 +- .../jni/java-net/gnu_java_net_VMPlainSocketImpl.c | 18 +- .../java-net/gnu_java_net_local_LocalSocketImpl.c | 2 - native/jni/java-net/java_net_VMInetAddress.c | 118 +- native/jni/java-net/javanet.c | 549 +++-- native/jni/java-net/javanet.h | 8 +- native/jni/java-net/local.c | 2 - native/jni/java-nio/Makefile.am | 1 + .../gnu_java_nio_channels_FileChannelImpl.c | 297 +-- native/jni/midi-dssi/dssi_data.h | 2 - native/jni/native-lib/.cvsignore | 8 + native/jni/native-lib/Makefile.am | 12 + native/jni/native-lib/cpio.c | 461 +++++ native/jni/native-lib/cpio.h | 84 + native/jni/native-lib/cpnative.h | 49 + native/jni/native-lib/cpnet.c | 718 +++++++ native/jni/native-lib/cpnet.h | 208 ++ native/jni/native-lib/cpproc.c | 136 ++ native/jni/native-lib/cpproc.h | 52 + native/plugin/Makefile.am | 2 +- scripts/check_jni_methods.sh | 2 - tools/Makefile.am | 17 +- tools/toolwrapper.c | 40 +- vm/reference/gnu/classpath/VMStackWalker.java | 19 +- vm/reference/java/io/VMFile.java | 105 + vm/reference/java/io/VMObjectInputStream.java | 39 - 218 files changed, 18188 insertions(+), 7153 deletions(-) create mode 100644 doc/www.gnu.org/announce/20060809.wml create mode 100644 gnu/java/io/ObjectIdentityMap2Int.java create mode 100644 gnu/javax/swing/text/html/css/CSSColor.java create mode 100644 gnu/javax/swing/text/html/css/CSSLexicalException.java create mode 100644 gnu/javax/swing/text/html/css/CSSParser.java create mode 100644 gnu/javax/swing/text/html/css/CSSParserCallback.java create mode 100644 gnu/javax/swing/text/html/css/CSSParserException.java create mode 100644 gnu/javax/swing/text/html/css/CSSScanner.java create mode 100644 gnu/javax/swing/text/html/css/FontSize.java create mode 100644 gnu/javax/swing/text/html/css/FontStyle.java create mode 100644 gnu/javax/swing/text/html/css/FontWeight.java create mode 100644 gnu/javax/swing/text/html/css/Length.java create mode 100644 javax/swing/text/ZoneView.java create mode 100644 javax/swing/text/html/MultiAttributeSet.java create mode 100644 javax/swing/text/html/MultiStyle.java create mode 100644 javax/swing/text/html/ViewAttributeSet.java create mode 100644 m4/gcc_attribute.m4 create mode 100644 native/jni/native-lib/.cvsignore create mode 100644 native/jni/native-lib/Makefile.am create mode 100644 native/jni/native-lib/cpio.c create mode 100644 native/jni/native-lib/cpio.h create mode 100644 native/jni/native-lib/cpnative.h create mode 100644 native/jni/native-lib/cpnet.c create mode 100644 native/jni/native-lib/cpnet.h create mode 100644 native/jni/native-lib/cpproc.c create mode 100644 native/jni/native-lib/cpproc.h diff --git a/ChangeLog b/ChangeLog index 3f9514d9c..d161f400a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1700 @@ +2006-09-03 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements): + Disallow H1 - H6 in the paragraphs. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Leave at most one leading and/or trailing space. + * javax/swing/text/html/HTMLDocument.java (HTMLReader.handleText): + Do not add any text after closing the HTML tag. + +2006-09-02 Roman Kennke + + PR 28928 + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getPreferredSpan): Default to 10 when there is no + real view. + (RootView.getMinimumSpan): Forward to view and default to 10 + when there is no real view. + (RootView.getMaximumSpan): Return Integer.MAX_VALUE. + (getMaximumSize): Check for overflow. + * javax/swing/text/FieldView.java + (getResizeWeight): Removed unneeded assignment. + +2006-09-01 Francis Kung + * java/awt/image/ColorConvertOp.java + (copyImage): Updated javadoc and comments. + (copyRaster): Add javadoc. + (createCompatibleColorModel): Add javadocs and comments. + (createCompatibleDestImage): Use correct transfer type. + (createCompatibleDestRaster): Add new parameter for transfer type. + (filter): Use correct transfer type. + * java/awt/image/ConvolveOp.java: Updated javadocs. + (createCompatibleDestImage): Set new image properties correctly. + (filter(BufferedImage, BufferedImage): Correct handling of premultiplication. + (filter(WritableRaster, Raster): Clip sample values to [0-255]. + +2006-09-01 Robert Schuster + + * javax/swing/table/DefaultTableModel.java: + (checkSize): Added null check for dataVector. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicSplitPaneUI.java: + (BasicHorizontalLayout.getAlignmentX): Return fixed value. + (BasicHorizontalLayout.getAlignmentY): Return fixed value. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/metal/MetalCheckBoxIcon.java: + (paintIcon): Removed unused import statements, lowered cast requirement + from JCheckBox to AbstractButton. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicLookAndFeel.java: + (initComponentDefaults): Added, changed and removed some + tabbed pane properties. + +2006-09-01 Robert Schuster + + * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: + (createContent): Changed menu item name and tab naming. + +2006-09-01 Roman Kennke + + PR 28922 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.getAttributes): Overridden to return null. + (HTMLRootView.getElement): Overridden to return the view's + element. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (calculateTabAreaHeight): Use getTabRunOverlay method instead + of accessing variable directly. + (calculateTabAreaWidth): Dito. + +2006-08-31 Keith Seitz + + * include/jvmti.h: Include jvmti_md.h. + +2006-08-31 Keith Seitz + + From Martin Platter : + * Makefile.am (include_HEADERS): Include jvmti.h. + * include/jvmti.h (jvmtiEnv) [!__cplusplus]: Add missing '*'. + (jvmtiError): Remove superfluous comma after last entry. + (jvmtiEvent): It's "BREAKPOINT" not "BERAKPOINT". + (_Jv_jvmtiEnv.StopThread): Add missing exception parameter. + (_Jv_jvmtiEnv.RawMonitorWait): Add missing millis parameter. + (_Jv_jvmtiEnv.GetSourceFileName): source_name_ptr is pointer to + character pointer. + (_Jv_JVMTIEnv::StopThread): Add missing exception parameter. + (_Jv_JVMTIEnv::RawMonitorWait): Add missing millis parameter. + (_Jv_JVMTIEnv::GetSourceFileName): source_name_ptr is pointer to + character pointer. + +2006-08-31 Roman Kennke + + * javax/swing/text/BoxView.java + (getWidth): Return the width with insets added, not with one + added and one removed. + (getHeight): Return the height with insets added, not with one + added and one removed. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.viewToModel): Need to add the start offset. + * javax/swing/text/ParagraphView.java + (Row.getAlignment): Adjust alignment with respect to + the justification attribute. + (Row.getLeftInset): Overridden to adjust for firstLineIndent + attribute. + * javax/swing/text/html/CSS.java + (getValue): Convert length values. + * javax/swing/text/html/Paragraph.java + (painter): New field. + (paint): Implemented to delegate painting to the BoxPainter too. + (setPropertiesFromAttributes): Implemented to load attributes + from CSS. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.as): Removed field. + (BoxPainter.leftInset): New field. + (BoxPainter.bottomInset): New field. + (BoxPainter.rightInset): New field. + (BoxPainter.topInset): New field. + (BoxPainter.BoxPainter): Implemented to load the insets from + CSS. + (BoxPainter.getInset): Implemented. + * gnu/javax/swing/text/html/Length.java: New class. + Converts CSS length units to usable values. + +2006-08-31 Andreas Tobler + + * configure.ac: Add check for gethostbyname_r. + Add check for MSG_NOSIGNAL and SO_NOSIGPIPE. + * native/jni/native-lib/cpnet.c (SOCKET_NOSIGNAL): Define + SOCKET_NOSIGNAL according to the configure check. + (cpnet_send): Use SOCKET_NOSIGNAL. + (cpnet_sendTo): Likewise. + (cpnet_getHostByName): Use gethostbyname in case gethostbyname_r is not + defined. + * native/jni/native-lib/cpio.c: Define O_SYNC and O_DSYNC in case they + are not available. + + * lib/Makefile.am (cssfiles): Add new rule to install css files. + +2006-08-31 Roman Kennke + + * javax/swing/JEditorPane.java + (getPreferredSize): Replace preferred size with minimum + UI size only if the scrollable does _not_ track the viewport + size and only if the viewport's size is smaller than the + scrollable's size. + (getScrollableTracksViewportWidth): Avoid unnecessary multiple + method calls. + * javax/swing/plaf/basic/BasicTextUI.java + (getPreferredSize): Read-lock the document to avoid + concurrency problems. + (getMaximumSize): Return maximum size of the view. + Read-lock the document to avoid concurrency problems. + (getMinimumSize): Return minimum size of the view. + Read-lock the document to avoid concurrency problems. + +2006-08-31 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): Renamed to processHostport. + (processHostport): Also translate "" to "localhost". + (setHostPort): Remove special cases for empty hostport and for + extra colons in hostport (processHostport handles these now). + +2006-08-31 Mark Wielaard + + * javax/swing/text/ZoneView.java (Zone): Make static class. + Constructor takes axis parameter. + (createZone): Create Zone with getAxis() as major axis. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java + (loadChildren): Implemented. + (getViewIndexAtPosition): Implemented. + (checkZoneAt): New helper method. + (splitZone): New helper method. + (getPreferredZoneEnd): New helper method. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java: New class. + +2006-08-30 Roman Kennke + + * javax/swing/JMenu.java + (getMenu): Removed unneeded cast. + (getPopupMenuOrigin): Made positioning algorithm better respect + the screen bounds. + (setMenuLocation): Also set the location on the popup if it's + not null. + (setModel): Use menuChangeListener so that we don't override + the changeListener field from AbstractButton. + (setPopupMenuVisible): Use custom location if set, otherwise + fallback to getPopupMenuOrigin(). + +2006-08-29 Roman Kennke + + * javax/swing/text/InternationalFormatter.java + (stringToValue): Fixed bounds check. + * javax/swing/text/MaskFormatter.java + (MaskFormatter): Don't explicitly set allosInvalid property. + (convertStringToValue): New helper method. + (convertValueToString): New helper method. + (convertValue): Removed. Replaced by the 2 convert* methods + above. + (getPadCharAt): Removed. + (isCharValid): Removed. + (pad): Removed. + (stringToValue): Fixed stringToValue conversion. + (stripLiterals): Removed. + (valueToString): Fixed valueToString conversion. + * javax/swing/text/DefaultFormatter.java + (DefaultFormatter): Default to commitsOnValidEdit = false. + +2006-08-29 Roman Kennke + + * javax/swing/text/TextAction.java + (getTextComponent): Check event for null and return null in + this case. + (augmentList): Augment Actions based on their names. + * javax/swing/text/DefaultEditorKit.java + (BeginAction.actionPerformed): Check target for null. + (BeginLineAction.actionPerformed): Check target for null. + (CopyAction.actionPerformed): Check target for null. + (CutAction.actionPerformed): Check target for null. + (EndAction.actionPerformed): Check target for null. + (EndLineAction.actionPerformed): Check target for null. + (InsertBreakAction.actionPerformed): Check target for null. + (InsertTabAction.actionPerformed): Check target for null. + (PasteAction.actionPerformed): Check target for null. + (SelectAllAction.actionPerformed): Check target for null. + (SelectionBeginAction.actionPerformed): Check target for null. + (SelectionBeginLineAction.actionPerformed): Check target for null. + (SelectionEndAction.actionPerformed): Check target for null. + (SelectionEndLineAction.actionPerformed): Check target for null. + (SelectLineAction.actionPerformed): Check target for null. + (SelectWordAction.actionPerformed): Check target for null. + +2006-08-29 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (FocusHandler): New class. This is moved from the anonymous + inner focus listener class to a static member class, and + is now shared between components. + (DocumentHandler): This class is combined with the PropertyHandler + into the Handler class. + (PropertyChangeHandler): This class is combined with the + DocumentHandler into the Handler class. + (Handler): New class. This combines the Property and Document + handler into one class. + (RootView.changedUpdate): Only forward if real view != null. + (RootView.insertUpdate): Only forward if real view != null. + (RootView.removeUpdate): Only forward if real view != null. + (documentHandler): Removed field and replaced by handler. + (focuslistener): Made field static and renamed to focusListener. + (handler): New field. + (kit): Lazily initialize field. + (rootView): Lazily initialize field. + (updateHandler): Removed and replaced by handler. + (getEditorKit): Lazily instantiate field. + (installDefaults): Don't set margin twice. Install correct + property for disabledTextColor. Moved caret and highlighter + initialization to installFixedDefaults. + (installFixedDefaults): New method. Installs defaults that + can't be overridden by subclasses. + (installListeners): Only install focus handler when new + system property gnu.swing.text.no-xlike-clipboard is not set. + Lazily initialize focus handler. + (installUI): Lazily initialize rootView. Install handler + both for property and document changes. + (uninstallDefaults): Uninstall the UI defaults. + (uninstallFixedDefaults): New method. Uninstalls the fixed + defaults. + (installListeners): Only uninstall focus handler when not null. + (uninstallUI): Uninstall property and document listener here. + +2006-08-29 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): New method. + (): Pass the hostport argument through the above. + + * java/net/NetworkInterface.java (getInetAddresses): + Don't bracket IPv6 addresses. + +2006-08-28 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMinorAxisRequirements): Initialize max size + with Integer.MAX_VALUE. + * javax/swing/text/Utilities.java + (getBreakLocation): For simple chars, scan the text directly. + * javax/swing/text/WrappedPlainView.java + (tabBase): New field. + (tabSize): New field. + (calculateBreakPosition): Use Utilities. Fixed for correct + break calculation. + (changedUpdate): Update children directly. + (insertUpdate): Update children directly. Notify children. + (removeUpdate): Update children directly. Notify children. + (updateChildren): New helper method. + (nextTabStop): Fixed to return correct results. + (paint): Update tabBase. + (updateMetrics): Update tab size. + +2006-08-28 Roman Kennke + + * javax/swing/text/Position.java + (Bias.Forward): Initialize with 'Forward' rather then 'forward'. + (Bias.Backward): Initialize with 'Backward' rather then 'backward'. + +2006-08-28 Roman Kennke + + * javax/swing/text/View.java + (height): Removed unneeded field. + (width): Removed unneeded field. + (getBreakWeight): Return GoodBreakWeight when pos is after + the view's span. + (getToolTipText): Check view index more carefully. Avoid + Rectangle creation. + (insertUpdate): Only execute method body if view count > 0. + When updateChildren returns false, clear the ec variable. + (updateChildren): Added null checks. + (viewToModel): Initialize bias array correctly. + * javax/swing/text/CompositeView.java + (children): Made private. + (numChildren): New field. + (loadChildren): Check factory for null. Don't load children + when factory is null. + (replace): Removed null check. Nullify removed children. Made + growing the array more efficient. + (getViewCount): Return numChildren rather then the real array + size. + * javax/swing/text/BoxView.java + (getViewAtPoint): Fixed algorithm for finding the view. + (replace): Made array growing more efficient. + (replaceLayoutArray): New helper method for growing/patching + the layout arrays. + (viewToModel): Make sure we have a valid layout. + +2006-08-28 Tania Bento + + * java/awt/MenuShortcut.java + (MenuShortcut (int, boolean)): Set keyName. + (toString): Modified string output. + (setKeyName): New private method. + +2006-08-28 Roman Kennke + + * javax/swing/text/GapContent.java + (Mark.getOffset): Made assert less strict, include boundary. + (search): Made package private to avoid accessor method. + +2006-08-28 Roman Kennke + + * javax/swing/text/StringContent.java + (InsertUndo.positions): New field. + (InsertUndo.redo): Update the undo positions. + (InsertUndo.undo): Fetch the undo positions. + (Mark): New class. Layer of indirection to allow Positions + to be GC'ed while we still hold references to the Mark. + (RemoveUndo.len): New field. + (RemoveUndo.positions): New field. + (RemoveUndo.RemoveUndo): Fetch undo positions. + (RemoveUndo.redo): Re-fetch positions and string. + (RemoveUndo.undo): Update undo positions. + (StickyPosition.mark): New field. + (StickyPosition.offset): Removed field. + (StickyPosition.StickyPosition): Create new Mark. Register + Position in queueOfDeath. Update reference count on mark. + (StickyPosition.getOffset): Return offset stored in mark. + (StickyPosition.setOffset): Removed unneeded method. + (UndoPosRef): New class. Handles undo/redo on positions/marks. + (EMPTY): New field. + (marks): New field. Stores the marks. + (positions): Removed field. + (queueOfDeath): New field. Used for GCing the positions. + (StringContent): Initialize queueOfDeath. + (createPosition): Lazily create marks vector. + (garbageCollect): New helper method. Collects positions + to be GCed and updates their marks. + (getChars): Fixed bounds check. + (getPositionsInRange): When v == null, create new Vector, + otherwise use v. Store UndoPosRefs in vector. + (getString): Added comment about bug in RI. + (insertString): Use new helper method for replacing the array. + Correctly update positions. + (length): Removed this qualifier. + (remove): Use new helper method for replacing the array. + Correctly update positions. + (replace): New helper method for growing or patching the array. + (updateUndoPositions): Implemented. Updates the positions + for undo/redo operations. + +2006-08-27 Roman Kennke + + * javax/swing/text/StyleContext.java + (NamedStyle.attributes): Made field transient. + (NamedStyle.changeEvent): Made field transient. + (NamedStyle.name): Removed field. The name is stored as + attribute. + (NamedStyle.NamedStyle(String,Style)): Call setName() for + storing the name and check for null name and resolveParent. + Don't initialize changeEvent. + (NamedStyle.copyAttributes): Return a new NamedStyle, + rather than a plain copy of the attributes field. + (NamedStyle.fireStateChange): Lazily create changeEvent + field. + (NamedStyle.getName): Fetch name from attributes. + (NamedStyle.setName): Store name from attributes. + (NamedStyle.readObject): Implemented for correct + deserialization. + (NamedStyle.writeObject): Implemented for correct + serialization. + (NamedStyle.setResolveParent): When new parent is null, + remove resolveParent attribute. Use addAttribute() method + rather than StyleContext addAttribute(). + (NamedStyle.toString): Fixed to produce output equal to the + RI. + (SmallAttributeSet.resolveParent): New field. + (SmallAttributeSet.SmallAttributeSet(AttributeSet)): Update + the resolveParent field correctly. + (SmallAttributeSet.SmallAttributeSet(Object[])): Don't copy + array but store it directly. Update + the resolveParent field correctly. + (SmallAttributeSet.clone): Return this as the object is + immutable. + (SmallAttributeSet.containsAttributes): Make sure that keys + and values are the same. + (SmallAttributeSet.containsAttribute): Make sure that keys + and values are the same. + (SmallAttributeSet.copyAttributes): Return this as the object is + immutable. + (SmallAttributeSet.equals): Fixed comparison. Two AttributeSet + are equal if they have the same number of attributes and + one contains the other. + (SmallAttributeSet.getAttribute): Improved lookup of + resolveParent. + (SmallAttributeSet.getResolveParent): Improved lookup of + resolveParent. + (SmallAttributeSet.isEqual): When comparing object is a + SmallAttributeSet, consider them equal only if they are the + same object. + (SmallAttributeSet.toString): Fixed to produce output equal to the + RI. + (attributeSetPool): New field. + (defaultStyleContext): Initialize lazily. + (defaultStyle): Removed field. This is stored in the style context + as attribute. + (listenerList): Removed field. The NamedStyle stores the + listeners. + (readAttributeKeys): New static field. Used for looking up + the serialization mappings when reading. + (search): New field. Used as search key. + (staticAttributeKeys): Replaced by read/writeAttributeKeys. + (styles): New field. Stores the styles and listeners. + (styleTable): Removed field. Replaced by styles field. + (writeAttributeKeys): New static field. Used for looking up + the serialization mappings when writing. + (static_initializer): Register mappings for all keys in + StyleConstants. + (StyleContext): Initialize styles correctly. + (addAttributes): Fixed caching of immutable attributes. + (addAttribute): Fixed caching of immutable attributes. + (removeAttributes): Fixed caching of immutable attributes. + (removeAttribute): Fixed caching of immutable attributes. + (addChangeListener): Add listener to styles field. + (removeChangeListener): Remove listener from styles field. + (getChangeListeners): Fetch listeners from styles field. + (addStyle): Add style to styles field. + (cleanupPool): New method. + (getDefaultStyleContext): Lazily create context. + (getEmptySet): Simply return SimpleAttributeSet.EMPTY. + (getMutableAttributeSet): New helper method. Used for + caching. + (getStaticAttribute): Fetch key from readAttributeKeys. + (getStyleNames): Return names from styles field. + (getStyle): Lookup style in styles field. + (removeStyle): Remove style from styles field. + (readAttributeSet): Fixed deserialization. + (writeAttributeSet): Fixed serialization. + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + (reclaim): Simply cleanup the pool. + (registerStaticAttributeKey): Store mapping in both ways. + (searchImmutableSet): New helper method for caching. + (toString): Fixed for output like the RI. + * javax/swing/text/StyleConstants.java + (keys): New field. Stores all known keys. + (StyleConstants): Store created key in keys list. + * javax/swing/event/EventListenerList.java + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + +2006-08-25 Roman Kennke + + * javax/swing/text/CompositeView.java + (insets): Removed. Replaced by single short fields. + (top): New field. Replaces insets. + (bottom): New field. Replaces insets. + (left): New field. Replaces insets. + (right): New field. Replaces insets. + (CompositeView): Initialize insets fields. + (createDefaultLocation): Removed unneeded method. + (getBottomInset): Return field directly. + (getTopInset): Return field directly. + (getLeftInset): Return field directly. + (getRightInset): Return field directly. + (getInsideAllocation): Adjusted to work on new insets fields. + (getViewIndex): Fixed check. + (loadChildren): Don't replace the old children. + (replace): Make sure that there is an array to operate on. + Only set parent to null, when it is this View. + (setInsets): Adjusted to work with new insets fields. + (setParagraphInsets): Fixed to pull insets directly from + StyleConstants. + +2006-08-25 Roman Kennke + + * javax/swing/text/ComponentView.java + (Interceptor): New inner helper class. Used to propagate + invalidate requests and cache component layout sizes. + (interceptor): New field. + (getAlignment): Fetch alignment from interceptor container. + (getComponent): Don't create component here. This is done + in setParent(). + (getMaximumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getMinimumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getPreferredSpan): Fetch layout info from interceptor. Check + for illegal axis. + (modelToView): Fixed model to view mapping. + (viewToModel): Fixed view to model mapping. + (paint): Check for null. Set bounds on interceptor rather + then component. + (setParentImpl): Install interceptor between component + and hosting container. + (setParent): Call super.setParent() immediately. + +2006-08-25 Roman Kennke + + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Only set background when + the corresponding attribute is actually defined, otherwise + set to null, as the StyleConstants would return black. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.documentEvent): Removed obsolete field. + (ElementBuffer.change): Do prepareEdits() and finishEdits() + to correctly update the element structure. + (ElementBuffer.insertContentTag): Removed unused statement. + (ElementBuffer.recreateAfterFracture): Removed + unused obsolete method. + (setCharacterAttributes): Removed unused statement. + +2006-08-25 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (LaterMain.run): Removed unused local variable. + (Demo): Don't put desktop in scrollpane. + (addChildren): Removed unused method. + (mkButtonBar): Added HTML demo. + (mkMenuBar): Added HTML demo. + (mkPanel): Removed unused method. + (mkScrollPane): Removed unused method. + (mkTree): Removed unused method. + (valign2str): Removed unused method. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Initialize text field with some HTML that already works. + (DEBUG): New field. Set to true for debugging output. + (createContent): Dump element tree after parsing. + +2006-08-25 Roman Kennke + + * javax/swing/text/html/CSS.java + (getValue): Added color value conversion. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ConvertAction): New class, converts HTML style tags + to CSS attributes. + (HTMLReader.initTags): Register ConvertAction for tag. + * javax/swing/text/html/InlineView.java + (setPropertiesFromAttributes): Implemented to fetch + CSS character attributes. + * javax/swing/text/html/StyleSheet.java + (addCSSAttribute): Convert value. + (getBackground): Implemented to fetch CSS background color + attribute. + (getForeground): Implemented to fetch CSS color + attribute. + (getFont): Adjust font size for superscript and subscript. + (translateHTMLToCSS): Rudimentary implementation that + copies the original attributes, so that any CSS attributes in + there are preserved. + (stringToColor): Use CSSColor for conversion. + * gnu/javax/swing/text/html/css/CSSColor.java: + New class. Converts CSS color values to RGB color values. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: + Removed. This is more or less replaced by CSSColor and the + ConvertAction in HTMLReader. + +2006-08-25 Roman Kennke + + * javax/swing/text/BoxView.java + (childReqs): Removed obsolete field. + (baselineLayout): Reimplemented for correct baseline layout. + (baselineRequirements): Reimplemented for correct baseline + layout. + (updateChildRequirements): Removed obsolete method. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getSpan): Removed unused statement. + (DefaultGlyphPainter.paint): Dont paint subscript/superscript + specially. The subscript/superscript layout is performed + via the alignment, the font is supplied by the StyleContext. + (breakView): Removed unused statements. + (getAlignment): Adjust alignment according to the + superscript/subscript setting. + (getFont): Reimplemented to fetch the font from the style + context, or from the document if the stylecontext is not + available. + (getPreferredSpan): Adjust span for superscript. Use switch + instead of if-else. + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Fetch background and foreground + from document / style context. + (isSubscript): Resync properties if needed. + * javax/swing/text/ParagraphView.java + (Row.calculateMinorAxisRequirements): Overridden to perform + a baseline layout. + (Row.layoutMinorAxis): Overridden to perform a baseline layout. + +2006-08-24 Roman Kennke + + * javax/swing/text/Utilities.java + (BUF_LENGTH): Removed unused field. + (drawTabbedText): Removed unneeded cast. + (getBreakLocation): Removed unneeded cast. + Fixed offset to account for Segments not starting at 0. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.normalizeTabRuns): Removed unused statement. + (TabbedPaneScrollLayout.layoutContainer): Likewise. + (ScrollingPane.updateUI): Likewise. + (calculateTabWidth): Rewritten to correctly and efficiently + layout the tab width. + (layoutLabel): Call SwingUtilities method with the tabPane + as argument. + (paintContentBorderLeftEdge): Removed unused statement. + (paintContentBorderRightEdge): Removed unused statement. + (paintContentBorder): Removed unused statement. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getAttributes): Overridden to return null, + as the RootView has no parent. + +2006-08-24 Roman Kennke + + * javax/swing/text/html/CSSParser.java: Removed. + * javax/swing/text/html/CSS.java + (getValue): New helper method. Returns special converter + instances for certain kinds of property values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Don't translate tags + here. Instead, store the attributes directly with the tag + as key. + (content): Removed field. The Content object is handled + by AbstractDocument. + (styleSheet): Removed field. The styleSheet is the styleContext + of this document and handled by the DefaultStyledDocument already. + (HTMLDocument(Content,StyleSheet): Simply call super here. + The super classes already handle the content and styleContext. + (HTMLDocument()): Call this() with a default GapContent and + StyleSheet. + (getStyleSheet): Return the styleContext here. + (insertUpdate): New method. Overridden to add the + CONTENT dummy tag to the element's attributes. + (setBase): Set the base on the styleContext. + * javax/swing/text/html/HTMLEditorKit.java + (styleContext): Removed unneeded field. + (styleSheet): Made field private. + (HTMLEditorKit): Do nothing here. The StyleSheet is + created lazily in getStyleSheet(). A styleContext is not + needed here. + (getStyleSheet): Create StyleSheet correctly. + (insertHTML): Removed unneeded cast. + * javax/swing/text/html/InlineView.java + (attributes): New field. + (changedUpdate): Reload attributes. Trigger preferenceChanged. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/MultiAttributeSet.java: New class. + Multiplexes between several AttributeSets. + * javax/swing/text/html/MultiStyle.java: New class. + Multiplexes between several Styles. + * javax/swing/text/html/ParagraphView.java + (attributes): New field. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/StyleSheet.java + (CssParser): Removed inner class. + (CSSStyle): New inner class. Represents a style defined + by a CSS rule. + (CSSStyleSheetParserCallback): New class, for parsing + CSS stylesheets. + (css): New field. Stores the CSS rules. + (resolvedStyles): New field. Stores resolved styles. + (StyleSheet): Initialize resolvedStyles map. + (addRule): Removed bogus impl. + (getFont): Implemented to fetch font, based on CSS rules. + (getResolvedStyle): New helper method. Looks up resolved + styles, and resolves a style if necessary. + (resolveStyle): New pair of helper methods. Resolves + CSS style rules. + (getRule(String)): Provide rudimentary implementation. + (getRule(Tag,Element)): Implemented. + (getViewAttributes): Implemented. + (loadRules): Implemented. + (translateHTMLToCSS): Tagged as not implemented. + * javax/swing/text/html/ViewAttributeSet.java: New class. + +2006-08-24 Roman Kennke + + * javax/swing/text/FlowView.java: + (LogicalView.getAttributes): New method. Overrides super + impl to return the attributes of the FlowView instance. + * javax/swing/text/LabelView.java: + (setPropertiesFromAttributes): Fetch attributes from + View, rather then from the Element. (In the HTML + package the getAttributes() method is overridden to + return different attributes). Fetch font from the StyledDocument. + +2006-08-24 Roman Kennke + + * javax/swing/text/DefaultEditorKit.java: + (DefaultKeyTypedAction.actionPerform): Also filter + ALT and CTRL modifiers. + +2006-08-24 Roman Kennke + + * gnu/javax/swing/text/html/css/FontSize.java, + * gnu/javax/swing/text/html/css/FontStyle.java, + * gnu/javax/swing/text/html/css/FontWeight.java: + New classes. Used to convert CSS font attributes to AWT/Swing + Font constants. + +2006-08-24 Francis Kung + * gnu/java/awt/color/PyccConverter.java: Throw UnsupportedOperationExceptions. + * java/awt/image/ColorConvertOp.java: Updated javadocs. + (srccs, dstcs, rasterValid): Variables removed. + (ColorConvertOp(RenderingHints)): Initialize spaces to empty array. + (copyRaster): Check for null rendering hints + (createCompatibleColorModel): New private method. + (createCompatibleDestImage): Re-implemented. + (createCompatibleDestRaster(Raster, ColorSpace, boolean)): New private method. + (createCompatibleDestRaster(Raster)): Re-implemented. + (filter(BufferedImage, BufferedImage)): Add checks; fix temp image creation. + (filter(Raster, WritableRaster)): Add checks; fix temp raster creation. + (getPoint2D): Clean up formatting. + * java/awt/image/ComponentColorModel.java + (constructor): use findBits method instead of passing null. + (findBits): New method. + +2006-08-24 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 + addresses. + +2006-08-24 Jeroen Frijters + + * java/lang/ref/Reference.java + (queue, nextOnQueue): Made volatile. + (enqueue): Made thread safe. + * java/lang/ref/ReferenceQueue.java + (lock): New field. + (poll): Removed synchronized. + (enqueue): Changed to synchronize on lock object, to update Reference + state and return success status. + (dequeue, remove): Synchronize on lock object. + +2006-08-24 Jeroen Frijters + + * java/security/SecureClassLoader.java + (protectionDomainCache): Changed to HashMap. + (SecureClassLoader): Removed redundant security check. + (defineClass(String,byte[],int,int,CodeSource): Moved + protection domain lookup/construction to new method. + (defineClass(String,ByteBuffer,CodeSource): New method. + (getProtectionDomain): New method. + +2006-08-23 Roman Kennke + + * javax/swing/JComponent.java + (isRepainting): Made package private. + (paintChild): New field. + (findOpaqueParent): Removed method. This is now in + paintImmediately(). + (findOverlapFreeParent): Removed method. This is now + in paintImmediately2(). + (findPaintRoot): Removed method. This is now + in paintImmediately2(). + (isCompletelyObscured): Changed to take rectangle as single + ints as argument. + (isPaintingDoubleBuffered): Removed method. This is now + in paintImmediately2(). + (isPartiallyObscured): New helper method. + (onTop): New helper method for optimization. + (paintChildren): Paint only to specific child when + requested like this from paintImmediately2(). + (paintDoubleBuffered): Changed to take rectangle as single int + arguments. + (paintImmediately2): Changed to take rectangle as single int + arguments. Optimized determination of paint root. + (paintImmediately(Rectangle)): Change to delegate to + paintImmediately(int,int,int,int). + (paintImmediately(int,int,int,int)): Look for opaque ancestor + and start painting there. + (paint): Call paintDoubleBuffered() with int arguments. Only + paint component, when not completely occupied by opaque child. + (processKeyBinding): Removed unnecessary cast. + (isOccupiedByChild): New helper method. + * javax/swing/RepaintManager.java + (repaintUnderway): Removed obsolete field. + (commitRequests): Removed obsolete field. + (RepaintManager): Removed initialization of obsolete fields. + (addDirtyRegion): Removed unused statement. + (commitBuffer): Changed to take plain ints as argument. + (compileRepaintRoots): Optimized to avoid use of Rectangle. + Compute offsets in place, rather than using SwingUtilities. + (paintDirtyRegions): Removed unused field. + * javax/swing/JMenuItem.java + (onTop): Return true when not descendant of JInternalFrame. + * javax/swing/JPopupMenu.java + (onTop): Return true. + * javax/swing/JToolTip.java + (onTop): Return true. + * javax/swing/JViewport.java + (paintImmediately2): Change signature to match the + corresponding JComponent method. + +2006-08-23 Tania Bento + + * java/awt/Color.java + (brighter): Modified algorithm to correctly determine the + new brighter colour. + +2006-08-23 Roman Kennke + + * java/awt/Container.java + (maxSize): Removed field. This is already declared in Component. + (validateTree): Check for ContainerPeer. Don't addNotify here. + Only validate Component instances if they are invalid. + +2006-08-22 Roman Kennke + + * javax/swing/JComponent.java + (preferredSize): Removed field. + (maximumSize): Removed field. + (minimumSize): Removed field. + (getMaximumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getMinimumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getPreferredSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (isMaximumSizeSet): Removed. + (isMinimumSizeSet): Removed. + (isPreferredSizeSet): Removed. + (setMaximumSize): Removed. + (setMinimumSize): Removed + (setPreferredSize): Removed. + +2006-08-22 Roman Kennke + + * javax/swing/AbstractButton.java + (ButtonChangeListener.stateChanged): Delegate to combined + handler. + (EventHandler): New inner class. Handles all three types + of events on the model. + (eventHandler): New field. Stores the combined event + handler. + (AbstractButton): Moved listener initialization to + setModel(). + (createActionListener): Return combined handler. + (createChangeListener): Return combined handler. + (createItemListener): Return combined handler. + (getEventHandler): New helper method for creating the combined + handler. + (setModel): Initialize listeners here. + * javax/swing/plaf/basic/BasicButtonListener.java + (ButtonAction): New class. Implements the keyboard action + for buttons. + (checkOpacity): Implemented. + (createDefaultActionMap): New helper method. + (installKeyboardActions): Rewritten to install InputMap + and ActionMap according to 'new' keyboard input method. + (mouseClicked): Commented as no-op. + (mouseDragged): Commented as no-op. + (mouseMoved): Commented as no-op. + (propertyChange): Check for contentAreaFilled change and + update opacity. Pull handling of HTLM in font and text handler. + (stateChanged): Repaint button. + (uninstallKeyboardActions): Properly uninstall keyboard actions. + * javax/swing/plaf/basic/BasicButtonUI.java + (listener): Removed. + (sharedListener): New static field. Stores the shared listener. + (sharedUI): New static field. Stores the shared UI. + (createButtonListener): Return shared instance here. + (createUI): Return shared instance here. + (getButtonListener): New helper method. Looks for the + BasicButtonListener installed on a button and returns it. + (installDefaults): Correctly install rollover property here. + Fetch defaultTextShiftOffset. Initialize opaqueness correctly. + (installKeyboardActions): Fetch listener with new helper method. + (installListeners): Don't use removed field. Check for null. + (installUI): Added comment about order of method invocations. + (uninstallDefaults): Don't uninstall non-uninstallable properties. + (uninstallKeyboardActions): Fetch listener with new helper method. + (uninstallListeners): Fetch listener with new helper method. + (paintIcon): Paint icon offset when pressed and armed. + * javax/swing/plaf/metal/MetalButtonListener.java: Removed. + * javax/swing/plaf/metal/MetalButtonUI.java + (sharedUI): New field. Stores the shared UI. + (MetalButtonUI): Don't initialize fields here. + (createButtonListener): Removed method. Use super impl. + (createUI): Return shared instance. + (getDisabledTextColor): Update field here. + (getFocusColor): Update field here. + (getSelectColor): Update field here. + (installDefaults): Don't handle rollover property here. + (uninstallDefaults): Don't handle rollover property here. + (paintButtonPressed): Use accessor method to update the + field value. + +2006-08-21 Mark Wielaard + + Merge NATIVE_LAYER branch. + + 2006-08-20 Mark Wielaard + + * doc/tools.texinfo: Add file from trunk. + * native/jni/Makefile.am (DIST_SUBDIRS): Add native-lib. + * native/jni/java-io/java_io_VMFile.c: Include lstat and readlink + headers. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Remove redirect argument. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Remove unused variable. + * native/jni/native-lib/Makefile.am: Remove empty and nonexisting + files. + * native/jni/native-lib/cpio.c (cpio_setFileReadonly): Use correct + mask. + * native/jni/native-lib/cpnet.c (cpnet_connect): Removed unused + theaddr. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Moved from + cpnet.h. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Declare, + don't implement. + * vm/reference/java/lang/VMProcess.java: Removed unused redirect + argument. + * include/java_lang_VMProcess.h: Regenerated. + + 2006-07-09 Guilhem Lavaux + + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (nativeReceive): Fixed the type of the arrays (use java types). + (nativeSendTo): Force throwing an exception if port is 0. + + * native/jni/java-net/javanet.c: + (_javanet_accept): Throw SocketTimeoutException if ETIMEDOUT is + returned. + (_javanet_recvfrom): Likewise. + (_javanet_sendto): Throw a NullPointerException if the socket is + not connected and no address is given. + + * native/jni/java-net/javanet.h + (NULL_EXCEPTION): Defined. + + 2006-06-16 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Fix detection of + error. + + * native/jni/java-net/javanet.c + (_javanet_accept): Fixed bogus call to TARGET. + (_javanet_create_inetaddress): Fixed address generation. Fixed + bogus memory free. + (_javanet_bind): set "Reuse address" flag. + + * native/jni/native-lib/cpio.c + (cpio_getModificationTime): Fixed type. + (cpio_removeFile): Use rmdir too. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed error detection. + + * native/jni/native-lib/cpnet.h + (cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the + memory. + (cpnet_IPV4AddressToBytes): Fixed types. + + 2006-06-10 Guilhem Lavaux + + * native/jni/native-lib/cpio.c + (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. + + * native/jni/native-lib/cpnet.h: + (cpnet_bytesToIPV4Address): Fixed type casting to avoid being + messed by signs in jbyte. + + * native/jni/native-lib/cpproc.h + (CPIO_EXEC_NUM_PIPES): Compilation fix. + + 2006-05-09 Guilhem Lavaux + + * native/jni/native-lib/cpnet.c + (cpnet_getSocketTimeout, cpnet_setSocketTimeout): Reimplemented. + (waitForWritable, waitForReadable): New functions. + (socketTimeouts): New static global table to hold timeouts for all + socket fds. + (cpnet_accept,cpnet_bind,cpnet_sendTo,cpnet_recv,cpnet_recvFrom): + Added waitForXXXX safeguards to handle socket timeouts. + + * native/jni/java-net/javanet.c + (_javanet_accept): Check for the right error value when a timeout + occurs. + + 2006-03-25 Guilhem Lavaux + + * native/jni/java-io/Makefile.am, + native/jni/java-lang/Makefile.am, + native/jni/java-net/Makefile.am, + native/jni/java-nio/Makefile.am: Link to libclasspathnative.la now. + + * native/jni/native-lib/Makefile.am: Added cpproc.c + + * native/jni/native-lib/cpio.c: Implemented missing functions for + CPIO. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed address array initialization. + + * native/jni/native-lib/cpproc.c: Implemented. + + 2006-02-19 Guilhem Lavaux + + * configure.ac: Invoke GCC_ATTRIBUTE_UNUSED. + + * m4/gcc_attribute.m4: New file from ac_archive. + + * native/jni/java-net/javanet.c: Adapted to cpnet API + modification. + + * native/jni/native-lib/cpnet.c: Implemented. + + * native/jni/native-lib/cpnet.h + (cpnet_openSocketDatagram, + cpnet_openSocketStream): These calls need an address family now. + (cpnet_IPV4AddressToBytes, + cpnet_bytesToIPV4Address): Convert the address to network order. + + 2006-02-19 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c, + native/jni/midi-dssi/dssi_data.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Removed cpmath + dependency. Fixed coding style. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-lang/java_lang_VMProcess.c: Removed TARGET + dependency. Simplified the JNI code by moving some part into the + native layer. + + * native/jni/native-lib/cpproc.h: New interface to handle processes. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c: Fixed compilation + errors. Removed any remaining TARGET invocations. + + * native/jni/java-net/javanet.c + (_javanet_create_inetaddress): Removed spurious arr and + octets. Fixed compilation errors. + + * native/jni/native-lib/cpnet.h + (cpnet_getHostname, cpnet_getHostByName, cpnet_getHostByAddr, + cpnet_setIPV4Any, cpnet_freeAddresses, cpnet_isIPV6Address, + cpnet_isIPV4Address): New functions. + (cpnet_bytesToIPV4Address): Fixed interface to be consistent with + the rest. + + 2006-01-28 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c, + native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, + native/jni/java-net/javanet.c, + native/jni/java-net/javanet.h: Adapted the VM layer code + to the new native layer. + + * native/jni/native-lib/cpnet.h + (cpnet_addMembership, + cpnet_dropMembership, + cpnet_getAvailableBytes): Added the declarations of + some new functions. + (cpnet_newIPV6Address, + cpnet_IPV6AddressToBytes, + cpnet_bytesToIPV6Address): Implemented. + (cpnet_newIPV4Address): Initialize the sin_family field. + + 2006-01-28 Guilhem Lavaux + + * native/target: Removed. + + * configure.ac: Removed target from CLASSPATH_INCLUDES and + Makefile generation. + + * native/jni/native-lib/Makefile.am, + native/jni/native-lib/cpnet.h, + native/jni/native-lib/cpnet.c + native/jni/native-lib/cpio.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Imported new native compatibility + layer. + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java: + New class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java: + New interface. + * gnu/javax/swing/text/html/css/CSSParserException.java: + New exception. + * gnu/javax/swing/text/html/css/CSSScanner.java: + Adjusted API comments. Made all constants package private. + (EOF): New constant field. + (parseBuffer): Made package private. + (tokenEnd): Made package private. + (CSSScanner): Initialize lookahead buffer with -1. + (main): Print out to System.out rather then System.err. + (nextToken): Push back character after IDENT. + +2006-08-21 Jeroen Frijters + + * java/io/File.java (normalizePath): Fixed handling of "//" and "\\". + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java + (main): Use buffered input stream. + (nextToken): Removed 65536 workaround. Use int value directly + without cast to char. + (readComment): Use int value directly without cast to char. + Cast to char only when putting the character into the buffer. + (readEscape): Likewise. + (readIdent): Likewise. + (readName): Likewise. + (readNum): Likewise. + (readString): Likewise. + (readWhitespace): Likewise. + +2006-08-21 Ingo Proetel + + * java/io/InputStreamReader.java + (bytesCache): New field. + (cacheLock): New field. + (read(byte[],int,int): Avoid allocations of new byte + array on every call and reuse cached byte array if possible. + +2006-08-21 Roman Kennke + + * gnu/java/net/local/LocalSocketImpl.java + Only load native lib if this is supported by runtime. + * native/jni/java-net/local.c + Include config.h unconditionally. + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + Include config.h unconditionally. + +2006-08-21 Friedjof Siebert + + * java/io/ObjectInputStream.java + (objectLookupTable): Changed to be a Vector. + (ObjectInputStream): Initialize objectLookupTable as Vector. + (assignNewHandle): Store Object using handle index rather than + Hashtable, using the new rememberHandle() method. + (hierarchy): New method. This replaces inputGetObjectStreamClasses() + with a caching in ObjectStreamClass. + (inputGetObjectStreamClass): Replaced by hierarchy(). + (lookupHandle): New method. Looks up an object by it's handle + index. + (parseContent): Avoid creating of Integer objects. Use + hierarchy() method for looking up the class hierarchy. + (processResolution): Use rememberHandle() to store + handle per index, rather than Hashtabling the object. + (readFields): + (rememberHandle): New method. + * java/io/ObjectOutputStream.java + (OIDLookupTable): Use ObjectIdentityMap2Int instead of + Hashtable for improved lookup performance. + (ObjectOutputStream): Initialize OIDLookupTable as + ObjectIdentityMap2Int. + (assignNewHandle): Change to use ObjectIdentityMap2Int. + (findHandle): Change to use ObjectIdentityMap2Int. + (getBooleanField): Removed. + (getByteField): Removed. + (getCharField): Removed. + (getDoubleField): Removed. + (getField): Removed. + (getFloatField): Removed. + (getIntField): Removed. + (getLongField): Removed. + (getObjectField): Removed. + (writeFields(Object,ObjectStreamClass)): Use new helper method. + (writeFields(Object,ObjectStreamField)): New helper method. + Use switch rather then if-else cascade. + (writeObject): Use int handle, rather then Integer. + * java/io/ObjectStreamClass.java + (hierarchy): New field. Caches the class hierarchy. + (methodCache): New field. Caches methods. + (readObjectSignature): New field. Stores the read signature. + (uidCache): New field. Caches UIDs. + (writeObjectSignature): New field. Stores the write signature. + (cacheMethods): Cache methods in methodCache. + (calculateClassID): Outsourced from getClassUID() + for computing the UIDs. + (getClassUIDFromField): Outsourced from getClassUID() for + fetching the UID from the class field. + (getClassUID): Use cached uid if possible. Use new helper + methods for fetching the UID from the field or computing + from scratch. + (getObjectStreamClasses): Removed. Replaced by more + efficient hierarchy() method, that also caches the result. + (hierarchy): Replaces getObjectStreamClasses() for caching + the result. + (loadedByBootOrApplicationClassLoader): New helper method. + (setClass): Invalidate hierarchy cache. + (setSuperclass): Invalidate hierarchy cache. + * java/io/ObjectStreamField.java + (field): Made field package private for access from other + classes. + * gnu/java/io/ObjectIdentityWrapper.java: Removed. + * gnu/java/io/ObjectIdentityMap2Int.java: Efficient + hashtable for mapping objects to ints. + +2006-08-21 Roman Kennke + + * java/io/File.java + (getAbsolutePath): Fetch absolute path from + VMFile.getAbsolutePath(). Moved actual impl to there. + (isAbsolute): Let VMFile determine the absoluteness. + (toURL): Let VMFile convert the filename. + * vm/reference/java/io/VMFile.java + (getAbsolutePath): New method. + (isAbsolute): New method. + (toURL): New method. + +2006-08-21 Jeroen Frijters + + * NEWS: Added note about updated VM interface. + +2006-08-20 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + Updated documentation. + +2006-08-20 Ito Kazumitsu + + Fixes bug #28412 + * gnu/java/util/regex/CharIndexed.java(move1, setHitEnd, hitEnd): + New methods. + * gnu/java/util/regex/CharIndexedCharSequence.java, + gnu/java/util/regex/CharIndexedInputStream.java: Implemented the + new methods above. + * gnu/java/util/regex/RE.java(REG_FIX_STARTING_POSITION): New flag, + (match): call the new method setHitEnd of the input, + (getMatchImpl): Handle the new flag REG_FIX_STARTING_POSITION, + Some optimization commented out, Use CharIndexed#move1 instead of move. + * gnu/java/util/regex/REMatch.java: Made some debugging methods public. + * gnu/java/util/regex/REToken.java(match): The method body has been + moved to an internal private method, (matchFake): New method, + (setHitEnd): New method. + * gnu/java/util/regex/RETokenChar.java(matchThis): Call setHitEnd + if the match is not complete, (matchOneString): Count the number of + characters which matched the pattern. + * gnu/java/util/regex/RETokenEnd.java(fake): New field, + (setFake): New method, (match): Call super.match or super.matchFake. + * gnu/java/util/regex/RETokenEndSub.java(setHitEnd): New method. + * gnu/java/util/regex/RETokenOneOf.java(match): call the new method + setHitEnd of the input, + * gnu/java/util/regex/RETokenRepeated.java(match): Likewise. + * java/util/regex/Matcher.java(lookingAt, match): Use the new flag + RE.REG_FIX_STARTING_POSITION, (hitEnd, toString): New methods. + +2006-08-18 Tom Tromey + + * gnu/javax/swing/text/html/css/CSSScanner.java (readWhitespace): Push + the 'int', not the cast char. + +2006-08-18 Roger Sayle + + * scripts/check_jni_methods.sh: Don't use the "set -C" command + which isn't available in all shells. + +2006-08-18 Roger Sayle + + * lib/Makefile.am (resources): Fix some shell portability issues. + +2006-08-18 Thomas Fitzsimmons + + * configure.ac (tool-wrappers): Check for ltdl support when tool + wrapper binaries are enabled. + * tools/Makefile.am (LIBJVM): Remove variable. + (AM_CPPFLAGS): Add LIBJVM define. + (gappletviewer_LDFLAGS, gjarsigner_LDFLAGS, gkeytool_LDFLAGS, + gjar_LDFLAGS, gnative2ascii_LDFLAGS, gserialver_LDFLAGS, + gjavah_LDFLAGS): Remove variables. + * tools/toolwrapper.c (main): Use dlopen to load libjvm library. + +2006-08-18 Tom Tromey + + * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed + debugging prints. + * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging + print. + (readEntries): Likewise. + +2006-08-17 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutLabel): Reset the text and icon rectangles. + +2006-08-17 Thomas Fitzsimmons + + PR classpath/28537 + * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): + Transform gappletviewer name using program_transform_name. + +2006-08-17 Jeroen Frijters + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Always return UnixFileSystemView, since + that's the only one we got. Marked with NotImplementedException. + * javax/swing/plaf/basic/BasicFileChooserUI.java + (mouseClicked, installUI): Don't parse path by hand. + +2006-08-17 Roman Kennke + + * javax/swing/JComponent.java + (scrollRectToVisible): Handle intermediate non-JComponents + more gracefully. + +2006-08-17 Roman Kennke + + * javax/swing/RepaintManager.java + (blitBuffer): Removed. This is now done in commitBuffer(). + (commitBuffer): Always paint on the root window or applet. + No need to look for intermediate heavyweights. Optimized + rectangle translation. + (commitRemainingBuffers): Removed. Not needed anymore. + (getHeavyweightParent): Removed. Not needed anymore. + (getOffscreenBuffer): Fetch offscreen image from the + actual root component. + (paintDirtyRegions): Don't call commitRemainingBuffers(). + +2006-08-17 Roman Kennke + + * javax/swing/SwingUtilities.java + (clipString): New helper method for trimming strings. + (layoutCompoundLabelImpl): Fixed algorithm to conform + testsuites. Trim text if it's too long. Avoid creating + new Rectangles. Optimized for performance. + (layoutCompoundLabel): Use switch rather then if-else-chain. + * javax/swing/plaf/basic/BasicButtonUI.java + (viewR): New field. + (iconR): New field. + (textR): New field. + (paint): Reset and use cached rectangles. Only call paintIcon() + if icon is not null. Don't call paintButtonPressed() when + button is selected, only when it is both armed and pressed. + * javax/swing/plaf/basic/BasicGraphicsUtils.java + (getPreferredButtonSize): Reused cached rectangles rather + then creating new ones. Don't create new Rectangle via + Rectangle.union(). + * javax/swing/plaf/basic/BasicLabelUI.java + (getPreferredSize): Correctly reset cached rectangles. Especially + the view rect must have a big size to give it room for layouting. + Short cut layout when text == null. + (paint): Correctly reset cached rectangles. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (resetRectangles): New helper method. + (getPreferredMenuItemSize): Correctly reset the cached rectangles. + (paintMenuItem): Correctly reset the cached rectangles. + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (getPreferredSize): Use cached Rectangle objects and initialize + them correctly. + (paint): Use cached Rectangle objects and initialize + them correctly. + +2006-08-17 David Gilbert + + * java/util/Calendar.java: API doc additions. + +2006-08-17 Robert Schuster + + * javax/swing/DefaultButtonModel.java: + (setRollover): Simplified statement. + +2006-08-17 Jeroen Frijters + + * gnu/java/rmi/server/RMIClassLoaderImpl.java + (loadClass): Rewritten to use getClassLoader. + (loadProxyClass): Implemented. + (getClassLoader): Fixed support for null or empty codebase. + * gnu/java/rmi/server/RMIObjectInputStream.java + (resolveClass): Use user class loader as default class loader. + (resolveProxyClass): Delegate to RMIClassLoader.loadProxyClass. + * gnu/javax/rmi/CORBA/UtilDelegateImpl.java + (loadClass): Simplified and use user class loader instead of + context class loader as default. + * java/io/ObjectInputStream.java + (currentLoader): Use VMStackWalker.firstNonNullClassLoader(). + * vm/reference/gnu/classpath/VMStackWalker.java + (firstNonNullClassLoader): New method. + * vm/reference/java/io/VMObjectInputStream.java + (loaderAction, currentClassLoader): Removed. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (getTabBounds(JTabbedPane, int)): Added code to shift rectangle + by current scroll offset, added method documention. + (getTabBounds(int, Rectangle)): Added method documentation. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: + (paintContentBorderLeftEdge): Changed y to 1. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mouseReleased): Implemented. + (MouseHandler.mousePressed): Added delegation to tabbed pane. + (MouseHandler.mouseEntered): Dito. + (MouseHandler.mouseExited): Dito. + (MouseHandler.mouseMoved): Dito. + (MouseHandler.redispatchEvent): New method. + (PropertyChangeHandler.propertyChange): Added extra block level, + added code to handle tab placement changes, added comment. + (updateViewPosition): Set unneeded coordinate to 0, added comment. + +2006-08-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java: New file. + * gnu/javax/swing/text/html/css/CSSLexicalException.java: + New file. + +2006-08-16 Mark Wielaard + + * java/awt/Component.java (orientation): Renamed to + componentOrientation. + (setComponentOrientation): Use new field name. + (getComponentOrientation): Likewise. + +2006-08-16 Roman Kennke + + PR 28750 + * javax/swing/plaf/basic/BasicTreeUI.java + (CellEditorHandler.editingCancelled): Call completeEditing + directly. + (CellEditorHandler.editingStopped): Call completeEditing + directly. + (NodeDimensionHandler.getNodeDimensions): Rewritten + to use the preferred sizes of the renderer and editor. + (TreeExpansionHandler.treeCollapsed): Complete editing + here. + (TreeSelectionHandler.valueChanged): Complete editing + here. + (cancelEditing): Call completeEditing with false, false and + false. Don't call finish (removed method). + (completeEditing(boolean,boolean,boolean): Only do something when + stopEditingInCompleteEditing is true. Nullify editingComponent + and editingPath. Remove editingComponent from tree. Update + the layout when necessary and repaint. + (completeEditing): Stop editing when necessary. + (editorRequestFocus): New helper method. Request focus + on the actual editor. + (finish) Removed. This is now done in completeEditing(). + (prepareForUIInstall): Set stopEditingInCompleteEditing to true. + (setLargeModel): Complete editing here. + (setRootVisible): Complete editing here. + (setRowHeight): Complete editing here. + (setSelectionModel): Complete editing here. + (startEditing): Correctly initialize and start editing. + (updateExpandedDescendants): Complete editing here. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTextField): Fetch size from super and use renderer's height + if appropriate. + (EditorContainer.EditorContainer): Set layout to null, just + to make sure. + (EditorContainer.doLayout): Layout so that the editor + is offset to the right of the icon. + (EditorContainer.getPreferredSize): Implemented to + provide a reasonable preferred size. + (EditorContainer.paint): Position icon in the middle. + Also paint border if appropriate. + (EditorContainer.setBounds): Removed. + (RealEditorListener): Removed. + (DefaultTreeCellEditor): Set correct border. + (cancelCellEditing): Message real editor. Call finish(). + (createCellEditor): Don't add listener. + (determineOffset): Correctly determine offset, and update + the icon. + (finish): New helper method. + (getTreeCellEditorComponent): Set correct font. Call + prepareForEditing() and determineOffset() to correctly initialize + the state. + (stopCellEditing): Messsage realEditor to stop editing. Call + finish to clean up. + (stopEditingTimer): Removed. + (valueChanged): Correctly reset lastPath. + * javax/swing/tree/DefaultTreeCellRenderer.java + (getPreferredSize): Return super plus some extra space for + better readability. + +2006-08-16 Roman Kennke + + * javax/swing/plaf/metal/MetalTreeUI.java + (LineStyleListener): New property listener, that updates + the line style setting if the corresponding property + changes. + (lineStyleListener): New field. + (lineStyle): New field. + (LINE_STYLE_ANGLED): New constant field. + (LINE_STYLE_HORIZONTAL): New constant field. + (LINE_STYLE_NONE): New constant field. + (LINE_STYLE_VALUE_ANGLED): New constant field. + (LINE_STYLE_VALUE_HORIZONTAL): New constant field. + (LINE_STYLE_VALUE_NONE): New constant field. + (LINE_STYLE_PROPERTY): New constant field. + (decodeLineStyle): Implemented. + (installUI): Install line style listener. Set initial + lineStyle. + (uninstallUI): Uninstall line style listener. + (paintHorizontalPartOfLeg): Only call super for angled + lineStyle. + (paintVerticalPartOfLeg): Only call super for angled + lineStyle. + (paintHorizontalSeparators): Implemented. + (paint): If lineStyle==HORIZONTAL, call + paintHorizontalSeparators(). + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Add panel for selecting line styles. + +2006-08-16 Robert Schuster + + * examples/gnu/classpath/demo/swing/TabbedPaneDemo.java: + (createContent): Rewritten. + (createPlacementChangingMenuItem): New method. + (createLayoutPolicyChangingMenuItem): New method. + (createTabbedPane): New method. + (createTabContent): New method. + +2006-08-16 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mousePressed): Fixed indentation, intercept clicks on + disabled tabs, do proper revalidation in WRAP_TAB_LAYOUT mode. + +2006-08-16 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.modelToView): Provide variable pos as argument and not a fixed value. + (calculateBreakPosition): Add p0 to return value. + +2006-08-15 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (MouseHandler.selectedOnPress): New field. + (MouseHandler.handleEvent): New helper method for handling + selection and start/stop editing for mouse events. + (MouseHandler.mouseDragged): Commented as no-op method. + (MouseHandler.mouseMoved): Commented as no-op method. + (MouseHandler.mousePressed): Use handleEvent() to handle + selection and editing handling. + (MouseHandler.mouseReleased): Use handleEvent() to handle + selection and editing handling. + (MouseInputHandler.MouseInputHandler): Register itself + as mouse listener on source. Redispatch event to + destination. + (MouseInputHandler.dispatch): New helper method. + (MouseInputHandler.mouseClicked): Dispatch event. + (MouseInputHandler.mouseDragged): Dispatch event. + (MouseInputHandler.mouseEntered): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseExited): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseMoved): Stop dispatching. + (MouseInputHandler.mousePressed): Marked as no-op. + (MouseInputHandler.mouseReleased): Dispatch and stop + dispatching afterwards. + (MouseInputHandler.removeFromSource): Implemented. + (PropertyChangeHandler.propertyChange): Also handle + editable property changes by calling setEditable(). + (SelectionModelPropertyChangeHandler.propertyChange): + Reset row selection. + (startEditTimer): Removed. + (setCellEditor): Call updateEditor(). + (setEditable): Call updateEditor(). + (startEditingAtPath): Make path fully visible before starting + editing. + (startEditing): Maybe cancel previous edit session. Add + editing component itself, not its parent container. + Register MouseInputHandler for correctly redispatching + initial events. + (stopEditing): Message cellEditor and only completeEditing() + when approved by cell editor. + (updateCellEditor): Complete editing before updating + the cell editor. Get cell editor from JTree if possible, + otherwise create default editor. Update the listeners + on the editor. + * javax/swing/tree/DefaultTreeCellEditor.java + (CLICK_COUNT_TO_START): Removed. + (DefaultTreeCellEditor): Install correct border. Let setTree() + update the listeners. Don't initialize lastPath and font yet. + (actionPerformed): Implemented to start editing. + (createTreeCellEditor): Set click count to start to 1, rather than + 3. + (isCellEditable): Prepare editor here. Determine if we can + start immediately, or if we trigger a timer to do so. + (prepareForEditing): Don't removeAll() (not necessary), + check editingComponent to be non-null. + (setTree): Update listeners. + (shouldStartEditingTimer): Check for left mouse button. + (startEditingTimer): Lazily create timer. + +2006-08-15 Lillian Angel + + * java/awt/dnd/DropTargetDragEvent.java + (getTransferable): Implemented. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Added comment about NPE. + (retainAll): Added comment about NPE. + +2006-08-15 Roman Kennke + + * java/util/zip/ZipFile.java + (UTF8DECODER): Removed. + (UTF8CHARSET): New constant field. Stores the UTF8 charset. + (utf8Decoder): New instance field. + (decodeChars): Lazily create UTF8 decoder. Use instance + field rather than a static field to avoid corruption. + +2006-08-15 Roman Kennke + + * java/io/PrintStream.java + (line_separator): Provide default for system property. + * java/io/FileDescriptor.java + (valid): Create local copy of channel field for better + threading safetly. + +2006-08-15 Ingo Proetel + + * java/util/zip/ZipFile.java + (PartialInputStream.UTF8DECODER): New constant field, used + for decoding UTF8 strings. + (readLeShort): Access buffer directly if it has enough bytes + available. + (readLeInt): Access buffer directly if it has enough bytes + available. + (decodeChars): New helper method for decoding UTF8 strings. + (readString): Avoid NIO charset decoder if possible. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + (retainAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + 2006-08-14 Casey Marshall Merge in ssl-nio-branch work. See `ChangeLog-ssl-nio' for a record @@ -155,6 +1852,408 @@ * gnu/javax/net/ssl/provider/SynchronizedRandom.java * gnu/javax/net/ssl/provider/XMLSessionContext.java +2006-08-14 Roman Kennke + + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (DividerLayout.layoutContainer): Removed debug output. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.axis): New field. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager(int)): + New constructor. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager()): + Call new axis constructor. + (BasicHorizontalLayoutManager.getAvailableSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getInitialLocation): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getPreferredSizeOfComponent): + Refactored to handle direction. + (BasicHorizontalLayoutManager.getSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumLayoutSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.preferredLayoutSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.setComponentToSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.updateComponents): Don't reset + divider size. + (BasicVerticalLayoutManager.BasicVerticalLayoutManager): + New explicit constructor. Calls super with vertical axis. + (BasicVerticalLayoutManager.getAvailableSize): Functionality moved + to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getInitialLocation): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getPreferredSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getSizeOfComponent): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.preferredLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.setComponentToSize): Functionality + moved to BasicHorizontalLayoutManager. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (BUTTON_SPRITE): Renamed to BUTTON_SPRITE_L. + (BUTTON_SPRITE_R): New constant field. + (MetalOneTouchButton.paint): Paint R sprite for right buttons, + L sprite for left buttons. + +2006-08-14 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (query_formats): g_free 'name' after usage. + g_strfreev 'ch', the gdk_pixbuf_format_get_extensions instance. + g_strfreev 'ch', the gdk_pixbuf_format_get_mime_types instance. + +2006-08-14 Thomas Fitzsimmons + + PR classpath/27723 + * configure.ac (MOZILLA_FOUND): Add pkg-config check for + seamonkey-plugin. + +2006-08-14 Francis Kung + + PR 28694 + * java/awt/image/ColorModel.java + (coerceData): Added check for non-transparent images. + +2006-08-14 Francis Kung + + * java/awt/image/BandCombineOp.java + (BandCombineOp): Perform checks on validity of matrix. + (createCompatibleDestRaster): Add checks and choose raster type dynamically. + (filter): Updated to work with new matrix storage. + (getMatrix): Updated javadoc. + (getPoint2D): Formatting change. + +2006-08-14 Francis Kung + + * java/awt/image/AffineTransformOp.java + (AffineTransformOp): Updated javadoc. + (createCompatibleDestImage): Match behaviour of reference implementation. + (createCompatibleDestRaster): Formatting changes. + (filter(BufferedImage, BufferedImage)): Create compatible destination image. + (filter(Raster, WritableRaster)): Re-implemented. + (filterBicubic): New private method. + (filterBilinear): New private method. + (filterNearest): New private method. + (getBounds2D): No longer fixed around one point for rotations. + (getInterpolationType): Add support for bicubic interpolation. + +2006-08-14 Roman Kennke + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (MetalLookAndFeel): Moved theme initialization to + getDefaults(). + (createDefaultTheme): Forward to getCurrentTheme(). + (getDefaults): Initialize theme before doing anything else. + (getCurrentTheme): Recognize swing.metalTheme property. + +2006-08-14 Roman Kennke + + * javax/swing/JTable + (getScrollableUnitIncrement): Expose partially exposed + row in scrolling direction. + +2006-08-14 Audrius Meskauskas + + * javax/swing/JTable (getScrollableUnitIncrement): + Removing my name as the whole method body have been + recently completely replaced. + +2006-08-14 Roman Kennke + + PR 28028 + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Don't add p0 here. + +2006-08-14 Roman Kennke + + PR 28719 + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Scroll negative delta + when wheel is going up. + +2006-08-14 Roman Kennke + + PR 28693 + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (BasicOneTouchButton): New inner class. + (DividerLayout.changeButtonOrientation): Removed. + (DividerLayout.positionButtons): Moved into layoutContainer. + (DividerLayout.layoutContainer): Reworked for correct layout. + (OneTouchAction): New inner class. + (centerOneTouchButtons): New field. + (BasicSplitPaneDivider): Initialize centerOneTouchButton from + UIManager. + (createLeftOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (createRightOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (getPreferredSize): Reimplemented to return fixed preferredSize. + (oneTouchExpandableChanged): Add OneTouchAction action to + buttons. Don't install mouse listeners. + (MouseHandler.mousePressed): Removed handling of one touch buttons. + (paint): Don't trigger extra paint for buttons. + (propertyChange): Revalidate splitPane when orientation is changed. + (setBasicSplitPaneUI): Call oneTouchExpandableChanged only when + oneTouchExpandable is true. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (installDefaults): Install dividerSize on the divider too. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (MetalDividerLayout): Removed. Functionality is already + in BasicSplitPaneDivider.DividerLayout. + (MetalOneTouchButton): New inner class. + (BUTTON_SPRITE): New constant field. + (MetalSplitPaneDivider): Don't change layout. + (createLeftOneTouchButton): Overridden to return custom button + for Metal. + (createRightOneTouchButton): Overridden to return custom button + for Metal. + (paint): Don't trigger button painting. Call super instead. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (installKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + (uninstallKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + +2006-08-13 Roman Kennke + + PR 28135 + * javax/swing/ScrollPaneLayout.java + (layoutContainer): Consider the viewportBorder of the + JScrollPane. + (minimumLayoutSize): Consider the viewportBorder of the + JScrollPane. + (preferredLayoutSize): Consider the viewportBorder of the + JScrollPane. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (installDefaults): Also install viewportBorder if specified. + (paint): Paint viewportBorder if present. + (uninstallDefaults): Uninstall viewportBorder if appropriate. + Don't nullify foreground, background and font. Uninstall + border via LookAndFeel helper method to avoid uninstall + user set border. + +2006-08-13 Roman Kennke + + PR 28696 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.HTMLRootView): Trigger initial layout. + (HTMLRootView.setSize): Overridden to forward to real view. + * javax/swing/plaf/basic/BasicToolTipUI.java + (PropertyChangeHandler): New inner class. Updates the HTML + renderer. + (propertyChangeHandler): New field. + (getMaximumSize): Add HTML width delta. + (getMinimumSize): Add HTML width delta. + (getPreferredSize): Reimplemented to use HTML view for size + calculation if appropriate, otherwise use simple stringWidth() + measurement. + (installListeners): Install propertyChangeHandler. + (uninstallListeners): Uninstall propertyChangeHandler. + (installUI): Update HTML renderer. + (uninstallUI): Update HTML renderer. + (paint): Reimplemented to use HTML view for rendering if + appropriate, simple drawString otherwise. + * javax/swing/plaf/metal/MetalToolTipUI.java + (getPreferredSize): Call super and add accelerator delta. + (paint): Simply call super. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (changeListener): Renamed to menuChangeListener to avoid + shadowing changeListener field from AbstractButton. + +2006-08-13 Roman Kennke + + * javax/swing/JTree.java + (getScrollableUnitIncrement): Fixed direction. + (getScrollableBlockIncrement): Implemented to scroll one + page. + * javax/swing/tree/VariableHeightLayoutCache.java + (distance): Consider y + height already outside the node. + +2006-08-13 Roman Kennke + + * javax/swing/JTable.java + (getScrollableUnitIncrement): Fixed direction. Make it behave + like the RI. + (getScrollableBlockIncrement): Fixed direction. Make it behave + like the RI. + +2006-08-13 Roman Kennke + + * javax/swing/JList.java + (getScrollableUnitIncrement): Fixed direction. Implemented + horizontal scrolling. Improved usability. + (getScrollableBlockIncrement): Fixed direction. Improved usability. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (scrollByUnit): Scroll by -unit when direction is not positive + and +unit otherwise. + (scrollByBlock): Scroll by -unit when direction is not positive + and +unit otherwise. + +2006-08-13 Roman Kennke + + PR 28028 + * javax/swing/text/PlainView.java + (paint): Limit painted area to the lines inside the clip + and allocation. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (uninstallListeners): Unregister document listener. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcodeCache): New field. + (hashCode): use the above field instead of the serialized one + (writeObject): Removed method. + (readObject): Intern strings. + (equals): Revert to previous method. + +2006-08-13 Roman Kennke + + * javax/swing/JTabbedPane.java + (JTabbedPane): Call setModel() here and let this install the + change listener correctly. + (setModel): Correctly uninstall and reinstall ChangeListener when + model changes. + +2006-08-13 Raif S. Naffah + + PR Classpath/23952 + * java/util/ResourceBundle.java (CACHE_SIZE): New constant. + (bundleCache): Replaced with an LRU of CACHE_SIZE elements. + (lastDefaultLocale): Removed. + (emptyLocale): Likewise. + (BundleKey.defaultLocale): New field. + (BundleKey.BundleKey): Add a Locale (as a 1st positional) argument. + (BundleKey.set): Likewise. + (BundleKey.equals): Take defaultLocal field into consideration. + (getBundle(String, Locale, ClassLoader)): Use updated BundleKey and LRU. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (MenuChangeListener): New inner class, helps firing menu events. + (changeListener): New field. + (add(text)): Create new JMenuItem here and call add(JMenuItem). + (add(Action)): Create Action using createActionComponent() + and add via add(Component). + (setModel): Install and uninstall MenuChangeListener here. + +2006-08-13 Raif S. Naffah + + PR Classpath/27372 + * java/math/BigInteger.java: Updated copyright year. + (init): Consume as little bytes as possible. + (BigInteger(int, int, Random)): Ensure bitLength bits are used. + (valueOf(String, int)): Throw NumberFormatException for malformed strings + as per RI's documentation. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcode): Is a serialized field, not transient. + (equals): Should NOT compare strings by reference. + (readObject/writeObject): Use the default methods and handle the hash + seperately. + +2006-08-13 Raif S. Naffah + + PR Classpath/28678 + * gnu/java/security/Engine.java (getInstance(String, String, Provider)): + Updated documentation. + Formatting. + (getInstance(String, String, Provider, Object[])): Likewise. + Separate checks for null and empty string arguments. + Include as much information as possible in the exception's message. + Do not swallow original exception; instead use it as the cause of the + resulting exception. + * gnu/javax/security/auth/callback/AbstractCallbackHandler.java + (getInstance(String)): Updated documentation. + Formatting. + Store last exception caught when iterating through all providers. + If no implementation found, raise last exception if one was caught. + (getInstance(String, String)): Updated documentation. + Formatting. + Check for null or empty provider as per RI-5's documentation. + (getInstance(String, Provider)): Updated documentation. + Formatting. + Use as much information as possible in the exception message. + Do not swallow original exception; instead use it as the cause for the + ultimate raised exception(s). + * java/security/cert/CertificateFactory.java: Likewise. + * java/security/cert/CertPathBuilder.java: Likewise. + * java/security/cert/CertPathValidator.java: Likewise. + * java/security/cert/CertStore.java: Likewise. + * java/security/AlgorithmParameterGenerator.java: Likewise. + * java/security/AlgorithmParameters.java: Likewise. + * java/security/KeyFactory.java: Likewise. + * java/security/KeyPairGenerator.java: Likewise. + * java/security/KeyStore.java: Likewise. + * java/security/MessageDigest.java: Likewise. + * java/security/SecureRandom.java: Likewise. + * java/security/Signature.java: Likewise. + * javax/crypto/Cipher.java: Likewise. + * javax/crypto/ExemptionMechanism.java: Likewise. + * javax/crypto/KeyAgreement.java: Likewise. + * javax/crypto/KeyGenerator.java: Likewise. + * javax/crypto/Mac.java: Likewise. + * javax/crypto/SecretKeyFactory.java: Likewise. + * javax/net/ssl/KeyManagerFactory.java: Likewise. + * javax/net/ssl/SSLContext.java: Likewise. + * javax/net/ssl/TrustManagerFactory.java: Likewise. + +2006-08-13 Roman Kennke + + * javax/swing/JEditorPane.java + (getScrollableTracksViewportHeight): Also check maximum size. + * javax/swing/JTextPane.java + (insertIcon): Use input attributes for adding the icon + attribute. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.setSize): Overridden to forward to real view. + (getPreferredSize): Trigger setSize() on the view. + (viewToModel(JTextComponent,Point)): Pass Position.Bias array + to viewToModel() call, rather then null. + * javax/swing/text/ParagraphView.java + (changedUpdate): Invalide layout. Call super. + * javax/swing/text/SimpleAttributeSet.java + (clone): Use super's clone method to create clone. + * javax/swing/text/StyleConstants.java + (setIcon): Also set element name attribute. + * javax/swing/text/StyledEditorKit.java + (BoldAction.actionPerformed): Actually set the bold attribute, + not italic. + (setCharacterAttributes): Replaced with more straightforward + impl. + * javax/swing/text/TextAction.java + (getFocusedComponent): Implemented. + * javax/swing/text/Utilities.java + (getNextVisualPositionFrom): Pass Position.Bias arrays instead + of null. + * javax/swing/text/View.java + (changedUpdate): Nullify element change when updateChildren + says so. + 2006-08-11 Andrew John Hughes * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: @@ -300,6 +2399,12 @@ * java/security/AccessControlContext.java (): Avoid a duplicated AccessController.getContext() call. +2006-08-09 Mark Wielaard + + * doc/www.gnu.org/newsitems.txt: Add 0.92. + * doc/www.gnu.org/downloads/downloads.wml: Likewise. + * doc/www.gnu.org/announce/20060809.wml: New file. + 2006-08-09 Mark Wielaard * configure.ac (VERSION): Set to 0.92-generics. diff --git a/NEWS b/NEWS index 4c81863cf..d85a84173 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,11 @@ New in release 0.93 (UNRELEASED) option to configure * Added the rmi and corbaname URL context factories for JNDI. * Fixes in the JNDI InitialContext now allows to plug-in user implementation. +* Removed currentClassLoader method from + vm/reference/java/io/ObjectInputStream.java. +* Added firstNonNullClassLoader method to + vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to + provide a more efficient implementation. New in release 0.92 (Aug 9, 2006) diff --git a/configure.ac b/configure.ac index 93a42659b..d31bb91b7 100644 --- a/configure.ac +++ b/configure.ac @@ -287,7 +287,11 @@ dnl ----------------------------------------------------------- AC_ARG_ENABLE([tool-wrappers], [AS_HELP_STRING(--enable-tool-wrappers,create tool wrapper binaries [default=no])], [case x"${enableval}" in - xyes) COMPILE_WRAPPERS=yes ;; + xyes) + COMPILE_WRAPPERS=yes; + AC_CHECK_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)]) + AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)]) + ;; xno) COMPILE_WRAPPERS=no ;; x) COMPILE_WRAPPERS=yes ;; *) COMPILE_WRAPPERS=yes ;; @@ -329,6 +333,8 @@ if test "x${COMPILE_COLLECTIONS}" = xyes; then fi if test "x${COMPILE_JNI}" = xyes; then + GCC_ATTRIBUTE_UNUSED + AC_HEADER_STDC dnl Checking sizeof void * is needed for fdlibm to work properly on ppc64, @@ -362,7 +368,7 @@ if test "x${COMPILE_JNI}" = xyes; then lseek fstat read write htonl memset htons connect \ getsockname getpeername bind listen accept \ recvfrom send sendto setsockopt getsockopt time mktime \ - localtime_r \ + gethostbyname_r localtime_r \ strerror_r \ fcntl \ mmap munmap mincore msync madvise getpagesize sysconf \ @@ -544,6 +550,28 @@ if test "x${COMPILE_JNI}" = xyes; then AC_SUBST(QT_CFLAGS) AC_SUBST(QT_LIBS) fi + dnl ********************************************************************** + dnl Check for MSG_NOSIGNAL + dnl ********************************************************************** + AC_MSG_CHECKING(for MSG_NOSIGNAL) + AC_TRY_COMPILE([#include ], + [ int f = MSG_NOSIGNAL; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MSG_NOSIGNAL, 1, + [Define this symbol if you have MSG_NOSIGNAL]) ], + [ AC_MSG_RESULT(no)] + ) + dnl ********************************************************************** + dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL) + dnl ********************************************************************** + AC_MSG_CHECKING(for SO_NOSIGPIPE ) + AC_TRY_COMPILE([#include ], + [ int f = SO_NOSIGPIPE; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SO_NOSIGPIPE, 1, + [Define this symbol if you have SO_NOSIGPIPE]) ], + [ AC_MSG_RESULT(no)] + ) dnl Check for plugin support headers and libraries. if test "x${COMPILE_PLUGIN}" = xyes; then @@ -557,6 +585,9 @@ if test "x${COMPILE_JNI}" = xyes; then if test "x${MOZILLA_FOUND}" = xno; then PKG_CHECK_MODULES(MOZILLA, mozilla-firefox-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) fi + if test "x${MOZILLA_FOUND}" = xno; then + PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) + fi PKG_CHECK_MODULES(GLIB, glib-2.0) AC_SUBST(MOZILLA_CFLAGS) @@ -574,7 +605,7 @@ dnl ----------------------------------------------------------- dnl Add the include files for the native abstraction layer. dnl Used by AM_CPPFLAGS in the different modules. dnl ----------------------------------------------------------- -CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/target/Linux -I\$(top_srcdir)/native/target/generic" +CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/jni/native-lib" AC_SUBST(CLASSPATH_INCLUDES) dnl ----------------------------------------------------------- @@ -846,10 +877,8 @@ native/jni/qt-peer/Makefile native/jni/xmlj/Makefile native/jni/midi-alsa/Makefile native/jni/midi-dssi/Makefile +native/jni/native-lib/Makefile native/plugin/Makefile -native/target/Makefile -native/target/Linux/Makefile -native/target/generic/Makefile resource/Makefile resource/META-INF/services/java.util.prefs.PreferencesFactory scripts/Makefile diff --git a/doc/www.gnu.org/announce/20060809.wml b/doc/www.gnu.org/announce/20060809.wml new file mode 100644 index 000000000..680e3cd4e --- /dev/null +++ b/doc/www.gnu.org/announce/20060809.wml @@ -0,0 +1,225 @@ +#!wml --include=.. + +#use wml::std::page +#use wml::std::lang +#use wml::fmt::isolatin +#use wml::std::case global=upper + + + + + +#include + +
+
+We are proud to announce the release of GNU Classpath 0.92 Bling! Bling!
+
+This is the first release that has a full graphics 2D implemenation
+based on Cairo enabled by default. This enables the use of applications
+like JEdit, FlickrBackup and JFreeChart out of the box. Screenshots of
+CairoGraphics2D in action http://www.jfree.org/jfreechart/samples-gnu.html
+
+Also new in this release is the inclusion of an applet viewer
+and plugin that can be embedded in webbrowsers or other applications.
+It works on any platform supported by the various runtimes based on
+GNU Classpath, including 64 bit architectures.
+
+Some other highlights in this release (more extensive list below):
+
+  An alternative awt peer implementation based on Escher that uses the
+  X protocol directly. Various ImageIO providers for png, gif and bmp
+  images. Support for reading and writing midi files and reading .au
+  and .wav files have been added. Various tools and support classes
+  have been added for jar, native2ascii, serialver, keytool, jarsigner.
+  A GConf based util.peers backend has been added. Support for using
+  alternative root certificate authorities with the security and crypto
+  packages. Start of javax.management and runtime lang.managment support.
+  NIO channels now support scatter-gather operations.
+
+GNU Classpath, essential libraries for java, is a project to create
+free core class libraries for use with runtimes, compilers and tools
+for the java programming language.
+
+The GNU Classpath developer snapshot releases are not directly aimed
+at the end user but are meant to be integrated into larger development
+platforms. For example the GCC (gcj) and Kaffe projects will use the
+developer snapshots as a base for future versions. More projects based
+on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
+
+Also released is classpath-generics-0.92 an experimental branch with
+support for all the new 1.5 language features such as generics and
+enumerations. ECJ, JamVM, IKVM and Cacao are known to support the
+generics release. And you can use it to run Eclipse 3.1 with it to
+develop programs that use the new 1.5 language and core library
+additions. classpath-generics is a work in progress and not as
+extensively tested as our regular releases. But please try it out if
+you want to help us test the new 1.5 support of the core libraries.
+
+The GNU Classpath developers site http://developer.classpath.org/
+provides detailed information on how to start with helping the GNU
+Classpath project and gives an overview of the core class library
+packages currently provided.  For each snapshot release generated
+documentation is provided through the GNU Classpath Tools gjdoc
+project.  A documentation generation framework for java source
+files used by the GNU project. Full documentation on the currently
+implementated packages and classes can be found at:
+http://developer.classpath.org/doc/
+
+For more information about the project see also:
+
+- GNU Classpath home page:
+  http://www.gnu.org/software/classpath/
+
+- Developer information (wiki):
+  http://developer.classpath.org/
+
+- Full class documentation
+  http://developer.classpath.org/doc/
+
+- GNU Classpath hackers:
+  http://planet.classpath.org/
+
+- Autobuilder, current build status, build snapshots:
+  http://builder.classpath.org/
+
+- Application test pages (wiki)
+  http://developer.classpath.org/mediation/Applets
+  http://developer.classpath.org/mediation/FreeAWTTestApps
+  http://developer.classpath.org/mediation/FreeSwingTestApps
+  http://developer.classpath.org/mediation/FreeSWTTestApps
+
+- GNU Classpath hacking with Eclipse (wiki)
+  http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
+
+- GNU Classpath promotion banners:
+  http://developer.classpath.org/mediation/ClasspathBanners
+
+GNU Classpath 0.92 can be downloaded from
+ftp://ftp.gnu.org/pub/gnu/classpath/
+or one of the ftp.gnu.org mirrors
+http://www.gnu.org/order/ftp.html
+
+File: classpath-0.92.tar.gz
+MD5sum: 4603ef3e593713d94788b919bc0b6c75
+SHA1sum: fab3d6d360f6e9d712fc999f3f085e9f9c8c641a
+
+File: classpath-0.92-generics.tar.gz (EXPERIMENTAL)
+MD5sum: 3efacbefe0224dfe57d9049619095b32
+SHA1sum: 7db4d90e36e40ec676ac813f300265849e36e223
+
+New in release 0.92 (Aug 9, 2006)
+(See the ChangeLog file for a full list of changes.)
+
+* libjawtgnu.so has been renamed libjawt.so for binary compatibility.
+  libjawt.so should be installed in a VM-specific directory rather
+  than directly in /usr/lib.  Proprietary VMs put their libjawt.so
+  implementations in VM-specific directories but search /usr/lib first.
+  If GNU Classpath's libjawt.so is installed in /usr/lib it will create
+  problems for people who use a proprietary VM to run AWT Native
+  Interface applications.
+* The GdkGraphics2D backend has been made the default.  There is no
+  longer an explicit dependency on Cairo, the --enable-gtk-cairo
+  configure option is gone, and GTK 2.8 or higher is now required to
+  build the GTK peers.
+* A Mozilla plugin, 'gcjwebplugin', is now included.  It introduces a
+  dependency on the Mozilla plugin support headers and libraries.
+* New java implementations of png and gif imageio readers and writers.
+* A tools.texinfo document has been created and now includes
+  documentation about:
+  * appletviewer
+  * gcjwebplugin
+  * jarsigner
+  * keytool
+* Several new tools are now included:
+  * appletviewer
+  * jar
+  * native2ascii
+  * serialver
+  * keytool
+  * jarsigner
+  A new configure option --enable-tool-wrappers causes wrapper
+  binaries to be built for VMs that support the JNI Invocation API.
+* javax.sound.midi providers have been added to read and
+  write standard MIDI files.
+* A javax.sound.sampled .au and .wav file readers have been added.
+* New Java Virtual Machine Tool Interface header, jvmti.h.
+* AWT peers for X Windows based on Escher (a pure java X protocol
+  implementation) have been added. So far it supports AWT 1.1 style
+  Graphics, image loading via ImageIO (PNG, GIF and BMP images in this
+  release), top level components as well as mouse and keyboard input.
+  It is capable of running many Swing applications. Graphics2D and
+  AWT widgets are not yet supported with this peer set.
+* GConf based util.peers backend (see the --enable-gconf-peer and
+  --enable-default-preferences-peer configure options).
+* Support for batch importing trusted certificates for use with ssl
+  connections (see script/import-cacerts.sh).
+* NIO scatter-gather channel support.
+
+Runtime interface changes:
+
+* A new class, VMURLConnection, is used to implement
+  URLConnection.guessContentTypeFromStream.  The reference
+  implementation uses libmagic (and falls back to doing nothing if
+  libmagic is not available).
+* The method gnu.java.io.PlatformHelper.toCanonicalForm() has been
+  replaced with a JNI implementation of VMFile.toCanonicalForm() for
+  GNU/Posix systems.
+* A new class, VMRuntimeMXBeanImpl, is used to implement
+  the low-level support of the runtime management bean.
+  VMs should use it to supply the input arguments and start
+  time of the VM.  In addition, one of sun.boot.class.path
+  or java.boot.class.path should be defined by the VM to
+  support the optional boot class path access functionality.
+* The Unsafe class was moved back to the place expected by the JSR 166
+  reference implementation.  We've also added a couple other new VM
+  classes to support the JSR 166 code -- sun.reflect.Reflection and
+  sun.reflect.misc.ReflectUtil.
+* Another new class, VMClassLoadingMXBeanImpl, is used to implement
+  the low-level support of the class loading management bean.
+  VMs need to supply it with information about how many classes
+  are currently loaded, how many have been unloaded and whether
+  verbose class loading output is on or off.  Provision should also
+  be made for the latter to be toggled at runtime.
+* VMThreadMXBeanImpl is used to implement the low-level support
+  of the thread management bean.  Providing this interface requires
+  providing a fair amount of information about threads, including
+  optional time and contention monitoring, and instances of the
+  new ThreadInfo class in java.lang.management.  getState() has also
+  been added to the VMThread interface; this is required by the bean
+  as well as java.lang.Thread.
+* VMMemoryMXBeanImpl is used to implement the low-level support
+  of the memory management bean.  Providing this interface requires
+  providing information about the levels of heap and non-heap memory,
+  and the number of objects eligible for garbage collection.
+* VMCompilationMXBeanImpl is used to allow for optional compilation
+  time support for Just-In-Time compilers.
+* VMMemoryPoolMXBeanImpl is used to implement the low-level support
+  of the memory pool beans.  Providing this interface requires
+  providing memory usage statistics for each supported bean.
+* VMManagementFactory provides the names of the memory pools,
+  memory managers and garbage collectors maintained by the virtual
+  machine.  These are used to create the beans by the ManagementFactory.
+* VMMemoryManagerMXBeanImpl and VMGarbageCollectorMXBeanImpl provide
+  low-level support for memory managers (including the specific subclass
+  of garbage collecting memory managers).  The interfaces for these
+  require no more than enumerating the number of collections and the
+  time spent (for garbage collectors) and a relationship to the memory
+  pools (for all), along with a validity check.
+
+The following people helped with this release:
+
+Andreas Tobler, Andrew John Hughes, Anthony Balkissoon, Anthony Green,
+Archie Cobbs, Audrius Meskauskas, Carsten Neumann, Casey Marshall,
+Chris Burdess, Christian Thalinger, C. Scott Marshall, Dalibor Topic,
+David Gilbert, Francis Kung, Gary Benson, Henrik Gulbrandsen, Ingo
+Proetel, Ito Kazumitsu, Jeroen Frijters, Jim Huang, Kazuya Ujihara,
+Keith Seitz, Kyle Galloway, Lillian Angel, Mario Torre, Mark Wielaard,
+Martin Platter, Matthew Burgess, Matthew Wringe, Matt Wringe, Michael
+Barker, Miriam Schuster, Olivier Jolly, Paul Jenner, Raif S. Naffah,
+Robert Schuster, Roman Kennke, Sven de Marothy, Tania Bento, Thomas
+Fitzsimmons, Thomas Minor, Tom Tromey and Vivek Lakshmanan
+
+We would also like to thank the numerous bug reporters and testers!
+
+