BasicGraphicsUtils.drawStringUnderlineCharAt() cannot handle drawing strings properly in a Graphics2D object since TextLayout methods for text shapes aren't implemented.
Subject: Bug 17296 CVSROOT: /cvs/gcc Module name: gcc Branch: java-gui-branch Changes by: mark@gcc.gnu.org 2004-09-03 23:27:41 Modified files: libjava : ChangeLog libjava/gnu/java/awt/peer/gtk: GdkGraphics.java GdkGraphics2D.java libjava/java/awt: FontMetrics.java libjava/javax/swing: JMenu.java libjava/javax/swing/plaf/basic: BasicGraphicsUtils.java libjava/jni/gtk-peer: gnu_java_awt_peer_gtk_GdkGlyphVector.c Log message: * gnu/java/awt/peer/gtk/GdkGraphics.java (setColor): Use Color.BLACK if c == null, don't create new Color object each time. * gnu/java/awt/peer/gtk/GdkGraphics2D.java (comp): New private field. (setColor): Use Color.BLACK when argument null. (setComposite): Set this.comp field. (getComposite): Return this.comp, or AlphaComposite.SrcOver when null. (DrawState.comp): New private field. (DrawState.save): Save Composite. (DrawState.restore): Restore comp field. * java/awt/FontMetrics.java (gRC): New static final private field. (getLineMetrics(String, Graphics)): New method. (getLineMetrics(String, int, int, Graphics)): Likewise. (getLineMetrics(char[], int, int, Graphics)): Likewise. (getLineMetrics(CharacterIterator, int, int, Graphics)): Likewise. * javax/swing/JMenu.java (JMenu(String, boolean)): Ignore tearoff argument. PR SWING/17294. * javax/swing/plaf/basic/BasicGraphicsUtils.java (): Always use the fall-back code since none of the TextArea methods are really implemented now. PR SWING/17296. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c (GdkGlyphVector_setChars): Replace assert() with if block when pango_itemize() returns null. PR AWT/17295. (GdkGlyphVector_allInkExtents): Likewise when vec->glyphitems is null. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.2660.2.363&r2=1.2660.2.364 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/awt/peer/gtk/GdkGraphics.java.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.4.16.7&r2=1.4.16.8 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.7.2.15&r2=1.7.2.16 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/awt/FontMetrics.java.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.5.2.1&r2=1.5.2.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/javax/swing/JMenu.java.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.3.8.11&r2=1.3.8.12 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.java.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.7.2.2&r2=1.7.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c.diff?cvsroot=gcc&only_with_tag=java-gui-branch&r1=1.2.12.2&r2=1.2.12.3
Fixed on the GUI branch.
The GUI branch doesn't have a fix. It only has a workaround for the problem.
Fixed.
Resetting the target milestone, which doesn't exist in the 'classpath' product.