Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,v retrieving revision 1.18 diff -u -r1.18 gnu_java_awt_peer_gtk_GtkTextFieldPeer.c --- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c 22 Sep 2004 11:03:10 -0000 1.18 +++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c 6 Jun 2005 07:54:01 -0000 @@ -39,6 +39,12 @@ #include "gtkpeer.h" #include "gnu_java_awt_peer_gtk_GtkTextFieldPeer.h" +/* the color used for highlighting when the foreground is black, + since black highlights aren't a Good Idea. */ +#define BB_RED 16962 +#define BB_GREEN 26985 +#define BB_BLUE 31611 + static jint get_border_width (GtkWidget *entry); @@ -94,10 +100,17 @@ color.red = (red / 255.0) * 65535; color.green = (green / 255.0) * 65535; color.blue = (blue / 255.0) * 65535; - + gdk_threads_enter (); gtk_widget_modify_text (GTK_WIDGET (ptr), GTK_STATE_NORMAL, &color); + + if ( red == 0 && green == 0 && blue == 0) + { + color.red = BB_RED; + color.green = BB_GREEN; + color.blue = BB_BLUE; + } gtk_widget_modify_base (GTK_WIDGET (ptr), GTK_STATE_SELECTED, &color); gdk_threads_leave ();