Patch: FYI: Import AWT peers
Tom Tromey
tromey@redhat.com
Fri Jan 31 17:52:00 GMT 2003
I'm checking this in on the trunk only.
This patch pulls in the Gtk AWT peers and adds the configure and build
support for them.
I haven't included the new files in the appended patch.
The default AWT peer toolkit is now specified at configure time; it is
the first toolkit passed to --enable-java-awt. Any number of peers
can be built in one tree, but only one will be the default.
So, for instance, I now configure with `--enable-java-awt=gtk', and
the Gtk toolkit is the default one. Currently the only available
peers are `xlib' and `gtk'. You can pass multiple values to
--enable-java-awt by separating them with commas.
There is a `TestAWT.java' file in the tree that you can use to try
things out. I compile it with `gcj -C' and run it with gij. With
this you can see how well or poorly we do (some parts work fine, other
parts not so fine).
Hopefully now that this is in the tree more people will be inspired to
work on AWT. It has never been easier!
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
* java/awt/Window.java (Window(Window,GraphicsConfiguration)):
Don't try to find graphics configuration.
* java/awt/Toolkit.java (default_toolkit_name): Use new
Configuration entry.
* gnu/classpath/Configuration.java.in (default_awt_peer_toolkit):
New global.
* configure: Rebuilt.
* configure.in (TOOLKIT): New subst.
(--enable-java-awt) [xlib, gtk]: Set TOOLKIT if required.
Do AWT tests much earlier. Run Gtk tests. Make jniinclude
directory. Make output directories for .c files.
* Makefile.in: Rebuilt.
* Makefile.am (lib_gnu_java_awt_peer_gtk_la_SOURCES): New macro.
(toolexeclib_LTLIBRARIES): Added cond_gtk_ltlibrary.
(all_java_source_files): Added new sources.
($(lib_gnu_java_awt_peer_gtk_la_OBJECTS)): New target.
(gtk_c_files): New macro.
(gtk_c_source_files): New macro.
(cond_gtk_ltlibrary): New macro.
($(gtk_c_files)): New target.
(lib_gnu_java_awt_peer_gtk_la_LIBADD): New macro.
(gtk_awt_peer_sources): New macro.
(gtk_c_headers): New macro.
($(gtk_c_headers)): New target.
(ACLOCAL_AMFLAGS): New macro.
* gtk.m4, glib.m4, libart.m4: New files.
* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
gnu/java/awt/peer/gtk/GdkGraphics.java,
gnu/java/awt/peer/gtk/GtkArg.java,
gnu/java/awt/peer/gtk/GtkArgList.java,
gnu/java/awt/peer/gtk/GtkButtonPeer.java,
gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java,
gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
gnu/java/awt/peer/gtk/GtkChoicePeer.java,
gnu/java/awt/peer/gtk/GtkClipboard.java,
gnu/java/awt/peer/gtk/GtkComponentPeer.java,
gnu/java/awt/peer/gtk/GtkContainerPeer.java,
gnu/java/awt/peer/gtk/GtkDialogPeer.java,
gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
gnu/java/awt/peer/gtk/GtkFontPeer.java,
gnu/java/awt/peer/gtk/GtkFramePeer.java,
gnu/java/awt/peer/gtk/GtkGenericPeer.java,
gnu/java/awt/peer/gtk/GtkImage.java,
gnu/java/awt/peer/gtk/GtkImagePainter.java,
gnu/java/awt/peer/gtk/GtkLabelPeer.java,
gnu/java/awt/peer/gtk/GtkListPeer.java,
gnu/java/awt/peer/gtk/GtkMainThread.java,
gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
gnu/java/awt/peer/gtk/GtkMenuPeer.java,
gnu/java/awt/peer/gtk/GtkOffScreenImage.java,
gnu/java/awt/peer/gtk/GtkPanelPeer.java,
gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
gnu/java/awt/peer/gtk/GtkToolkit.java,
gnu/java/awt/peer/gtk/GtkWindowPeer.java,
gnu/java/awt/peer/gtk/TestAWT.java,
gnu/java/awt/peer/gtk/Test.java: New files from Classpath.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
jni/gtk-peer/gthread-jni.c, jni/gtk-peer/gthread-jni.h,
jni/gtk-peer/gtkpeer.h, jni/classpath/jcl.c, jni/classpath/jcl.h,
jni/classpath/jnilink.c, jni/classpath/jnilink.h,
jni/classpath/native_state.c, jni/classpath/native_state.h,
jni/classpath/primlib.c, jni/classpath/primlib.h: Likewise.
Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.270
diff -u -r1.270 Makefile.am
--- Makefile.am 28 Jan 2003 01:44:58 -0000 1.270
+++ Makefile.am 31 Jan 2003 17:17:40 -0000
@@ -2,6 +2,8 @@
AUTOMAKE_OPTIONS = foreign
+ACLOCAL_AMFLAGS = -I .
+
if TESTSUBDIR
SUBDIRS = $(DIRLTDL) testsuite gcj include
else
@@ -23,7 +25,14 @@
xlib_includes =
endif
-toolexeclib_LTLIBRARIES = libgcj.la lib-org-xml-sax.la lib-org-w3c-dom.la $(cond_x_ltlibrary)
+if GTK_AWT
+cond_gtk_ltlibrary = lib-gnu-java-awt-peer-gtk.la
+else
+cond_gtk_ltlibrary =
+endif
+
+toolexeclib_LTLIBRARIES = libgcj.la lib-org-xml-sax.la lib-org-w3c-dom.la \
+ $(cond_gtk_ltlibrary) $(cond_x_ltlibrary)
toolexecmainlib_DATA = libgcj.spec
jardir = $(datadir)/java
@@ -115,6 +124,8 @@
x_nat_files = $(x_nat_source_files:.cc=.lo)
## Objects from C sources in subdirs.
c_files = $(c_source_files:.c=.lo)
+## Objects from gtk-related C sources in subdirs.
+gtk_c_files = $(gtk_c_source_files:.c=.lo)
## Objects from Java sources in subdirs.
javao_files = $(java_source_files:.java=.lo) \
$(built_java_source_files:.java=.lo)
@@ -140,6 +151,102 @@
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcj_la_LINK = $(LIBLINK)
+## Gtk JNI sources.
+gtk_c_source_files = \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c \
+jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c \
+jni/gtk-peer/gthread-jni.c \
+jni/classpath/jcl.c \
+jni/classpath/jnilink.c \
+jni/classpath/native_state.c \
+jni/classpath/primlib.c
+
+## Java sources for Gtk peers.
+gtk_awt_peer_sources = \
+gnu/java/awt/peer/gtk/GdkFontMetrics.java \
+gnu/java/awt/peer/gtk/GdkGraphics.java \
+gnu/java/awt/peer/gtk/GtkArg.java \
+gnu/java/awt/peer/gtk/GtkArgList.java \
+gnu/java/awt/peer/gtk/GtkButtonPeer.java \
+gnu/java/awt/peer/gtk/GtkCanvasPeer.java \
+gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java \
+gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java \
+gnu/java/awt/peer/gtk/GtkCheckboxPeer.java \
+gnu/java/awt/peer/gtk/GtkChoicePeer.java \
+gnu/java/awt/peer/gtk/GtkClipboard.java \
+gnu/java/awt/peer/gtk/GtkComponentPeer.java \
+gnu/java/awt/peer/gtk/GtkContainerPeer.java \
+gnu/java/awt/peer/gtk/GtkDialogPeer.java \
+gnu/java/awt/peer/gtk/GtkFileDialogPeer.java \
+gnu/java/awt/peer/gtk/GtkFontPeer.java \
+gnu/java/awt/peer/gtk/GtkFramePeer.java \
+gnu/java/awt/peer/gtk/GtkGenericPeer.java \
+gnu/java/awt/peer/gtk/GtkImage.java \
+gnu/java/awt/peer/gtk/GtkImagePainter.java \
+gnu/java/awt/peer/gtk/GtkLabelPeer.java \
+gnu/java/awt/peer/gtk/GtkListPeer.java \
+gnu/java/awt/peer/gtk/GtkMainThread.java \
+gnu/java/awt/peer/gtk/GtkMenuBarPeer.java \
+gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java \
+gnu/java/awt/peer/gtk/GtkMenuItemPeer.java \
+gnu/java/awt/peer/gtk/GtkMenuPeer.java \
+gnu/java/awt/peer/gtk/GtkOffScreenImage.java \
+gnu/java/awt/peer/gtk/GtkPanelPeer.java \
+gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java \
+gnu/java/awt/peer/gtk/GtkScrollPanePeer.java \
+gnu/java/awt/peer/gtk/GtkScrollbarPeer.java \
+gnu/java/awt/peer/gtk/GtkTextAreaPeer.java \
+gnu/java/awt/peer/gtk/GtkTextComponentPeer.java \
+gnu/java/awt/peer/gtk/GtkTextFieldPeer.java \
+gnu/java/awt/peer/gtk/GtkToolkit.java \
+gnu/java/awt/peer/gtk/GtkWindowPeer.java
+
+## FIXME: GNU make.
+gtk_c_headers = $(patsubst %.java,jniinclude/%.h,$(subst /,_,$(gtk_awt_peer_sources)))
+
+$(gtk_c_headers): $(gtk_awt_peer_sources)
+## FIXME: GNU make.
+ @input=`echo $@ | sed -e 's,jniinclude,,' -e 's,_,.,g' -e 's,.h$$,,'`; \
+ echo "$(GCJH) -jni -d jniinclude -classpath '' -bootclasspath $(top_builddir) $$input"; \
+ $(GCJH) -jni -d jniinclude -classpath '' -bootclasspath $(top_builddir) $$input
+
+lib_gnu_java_awt_peer_gtk_la_SOURCES = \
+$(gtk_awt_peer_sources) \
+$(gtk_c_source_files) \
+jni/gtk-peer/gthread-jni.h \
+jni/gtk-peer/gtkpeer.h \
+jni/classpath/jcl.h \
+jni/classpath/jnilink.h \
+jni/classpath/native_state.h \
+jni/classpath/primlib.h
+
+lib_gnu_java_awt_peer_gtk_la_LIBADD = $(GTK_LIBS) $(GLIB_LIBS) $(LIBART_LIBS)
+
lib_org_w3c_dom_la_SOURCES = org/w3c/dom/Attr.java \
org/w3c/dom/CDATASection.java \
org/w3c/dom/CharacterData.java \
@@ -220,6 +327,7 @@
$(built_java_source_files) \
$(lib_org_xml_sax_la_SOURCES) \
$(lib_org_w3c_dom_la_SOURCES) \
+ $(gtk_awt_peer_sources) \
$(x_java_source_files)
all_java_class_files = $(all_java_source_files:.java=.class)
@@ -270,8 +378,17 @@
$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
## FIXME: GNU make.
+$(gtk_c_files): %.lo: %.c
+ $(LTCOMPILE) -c -Ijniinclude -I$(srcdir)/jni/classpath -I$(srcdir)/jni/gtk-peer $(GTK_CFLAGS) $(LIBART_CFLAGS) -o $@ $<
+
+$(gtk_c_files): $(gtk_c_headers)
+
+## FIXME: GNU make.
$(javao_files) $(x_javao_files) $(lib_org_w3c_dom_la_OBJECTS) $(lib_org_xml_sax_la_OBJECTS): %.lo: %.java
$(GCJCOMPILE) -o $@ $<
+
+$(gtk_awt_peer_sources:.java=.lo): %.lo: %.java
+ $(GCJCOMPILE) -fjni -o $@ $<
## Pass the list of object files to libtool in a temporary file to
## avoid tripping platform command line length limits.
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.in,v
retrieving revision 1.146
diff -u -r1.146 configure.in
--- configure.in 28 Jan 2003 19:10:00 -0000 1.146
+++ configure.in 31 Jan 2003 17:17:51 -0000
@@ -289,6 +289,59 @@
ZLIBTESTSPEC=
AC_SUBST(ZLIBTESTSPEC)
+AC_PATH_XTRA
+
+dnl Determine which AWT peer libraries to build
+AC_ARG_ENABLE(java-awt,
+[ --enable-java-awt list of AWT peer implementations to be built])
+
+peerlibs="`echo ${enable_java_awt} | tr ',' ' '`"
+use_xlib_awt=""
+use_gtk_awt=""
+# The default toolkit to use is the first one specified.
+TOOLKIT=
+AC_SUBST(TOOLKIT)
+
+for peer in $peerlibs ; do
+ case $peer in
+ xlib)
+ if test "$no_x" = yes; then
+ echo "*** xlib peers requested but no X library available" 1>&2
+ exit 1
+ else
+ use_xlib_awt="yes"
+ if test -z "$TOOLKIT"; then
+ TOOLKIT=gnu.gnu.awt.xlib.XToolkit
+ fi
+ fi
+ ;;
+ gtk)
+ if test "$no_x" = yes; then
+ echo "*** xlib peers requested but no X library available" 1>&2
+ exit 1
+ else
+ use_gtk_awt=yes
+ if test -z "$TOOLKIT"; then
+ TOOLKIT=gnu.java.awt.peer.gtk.GtkToolkit
+ fi
+ test -d jniinclude || mkdir jniinclude
+ fi
+ ;;
+ no)
+ use_xlib_awt=
+ use_gtk_awt=
+ break
+ ;;
+ *)
+ echo "*** unrecognised argument \"${peer}\" for --enable-java-awt" 1>&2
+ exit 1
+ esac
+done
+
+AM_CONDITIONAL(XLIB_AWT, test "$use_xlib_awt" = yes)
+AM_CONDITIONAL(GTK_AWT, test "$use_gtk_awt" = yes)
+
+
dnl FIXME: this should be _libs on some hosts.
libsubdir=.libs
@@ -721,6 +774,15 @@
AC_CHECK_LIB(z, deflate, ZLIBSPEC=-lz, ZLIBSPEC=)
fi
+ # Test for Gtk stuff, if asked for.
+ if test "$use_gtk_awt" = yes; then
+ AM_PATH_GTK(1.2.4,,exit 1)
+ AM_PATH_GLIB(1.2.4,,exit 1,gthread)
+ dnl XXX Fix me when libart.m4 has the compile test fixed!
+ enable_libarttest=no
+ AM_PATH_LIBART(2.1.0,,exit 1)
+ fi
+
# On Solaris, and maybe other architectures, the Boehm collector
# requires -ldl.
if test "$GC" = boehm; then
@@ -757,7 +819,8 @@
if test ! -f gnu/classpath/Configuration.java; then
test -d gnu || mkdir gnu
test -d gnu/classpath || mkdir gnu/classpath
- sed 's,@LIBGCJDEBUG@,$LIBGCJDEBUG,' \
+ sed -e 's,@LIBGCJDEBUG@,$LIBGCJDEBUG,' \
+ -e 's,@TOOLKIT@,$TOOLKIT,' \
< $srcdir/gnu/classpath/Configuration.java.in \
> gnu/classpath/Configuration.java
# We do not want to redirect the output of the grep below to /dev/null,
@@ -966,42 +1029,6 @@
multilib_arg=
fi
-AC_PATH_XTRA
-
-dnl Determine which AWT peer libraries to build
-AC_ARG_ENABLE(java-awt,
-[ --enable-java-awt list of AWT peer implementations to be built])
-
-peerlibs="`echo ${enable_java_awt} | tr ',' ' '`"
-use_xlib_awt=""
-use_gtk_awt=""
-
-for peer in $peerlibs ; do
- case $peer in
- xlib)
- if [test "$no_x" = yes]; then
- echo "*** xlib peers requested but no X library available" 1>&2
- exit 1
- else
- use_xlib_awt="yes"
- fi
- ;;
- gtk)
- # Nothing, yet...
- ;;
- no)
- use_xlib_awt=
- use_gtk_awt=
- break
- ;;
- *)
- echo "*** unrecognised argument \"${peer}\" for --enable-java-awt" 1>&2
- exit 1
- esac
-done
-
-AM_CONDITIONAL(XLIB_AWT, test "$use_xlib_awt" = yes)
-AM_CONDITIONAL(GTK_AWT, test "$use_gtk_awt" = yes)
here=`${PWDCMD-pwd}`
@@ -1023,10 +1050,10 @@
# builddir for the .java files.
h=`${PWDCMD-pwd}`
: > deps.mk
-( (cd $srcdir && find . \( -name '*.java' -o -name '*.cc' \) -print) ;
- find . \( -name '*.java' -o -name '*.cc' \) -print) | \
+( (cd $srcdir && find . \( -name '*.java' -o -name '*.cc' -o -name '*.c' \) -print) ;
+ find . \( -name '*.java' -o -name '*.cc' -o -name '*.c' \) -print) | \
fgrep -v testsuite | \
- sed -e 's/\.java/.d/'\;'s/\.cc/.d/' | \
+ sed -e 's/\.java/.d/'\;'s/\.cc/.d/'\;'s/\.c/.d/' | \
while read f; do
echo "include $f" >> deps.mk
test -f $f || {
Index: gnu/classpath/Configuration.java.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/classpath/Configuration.java.in,v
retrieving revision 1.4
diff -u -r1.4 Configuration.java.in
--- gnu/classpath/Configuration.java.in 30 Sep 2002 05:19:08 -0000 1.4
+++ gnu/classpath/Configuration.java.in 31 Jan 2003 17:17:52 -0000
@@ -1,5 +1,5 @@
/* gnu.classpath.Configuration
- Copyright (C) 1998, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2001, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -56,4 +56,7 @@
boolean HAVE_NATIVE_GET_PROXY_DATA = false;
boolean HAVE_NATIVE_GET_PROXY_CLASS = false;
boolean HAVE_NATIVE_GENERATE_PROXY_CLASS = false;
+
+ // Name of default AWT peer library.
+ String default_awt_peer_toolkit = "@TOOLKIT@";
}
Index: java/awt/Toolkit.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Toolkit.java,v
retrieving revision 1.18
diff -u -r1.18 Toolkit.java
--- java/awt/Toolkit.java 14 Jan 2003 21:21:32 -0000 1.18
+++ java/awt/Toolkit.java 31 Jan 2003 17:17:56 -0000
@@ -1,5 +1,5 @@
/* Toolkit.java -- AWT Toolkit superclass
- Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -96,7 +96,7 @@
{
/** The default toolkit name. */
private static String default_toolkit_name
- = "gnu.awt.gtk.GtkToolkit";
+ = gnu.classpath.Configuration.default_awt_peer_toolkit;
/**
* The toolkit in use. Once we load it, we don't ever change it
Index: java/awt/Window.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Window.java,v
retrieving revision 1.15
diff -u -r1.15 Window.java
--- java/awt/Window.java 14 Jan 2003 21:21:33 -0000 1.15
+++ java/awt/Window.java 31 Jan 2003 17:17:56 -0000
@@ -1,5 +1,5 @@
/* Window.java --
- Copyright (C) 1999, 2000, 2002 Free Software Foundation
+ Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation
This file is part of GNU Classpath.
@@ -141,11 +141,12 @@
&& gc.getDevice().getType() != GraphicsDevice.TYPE_RASTER_SCREEN)
throw new IllegalArgumentException ("gc must be from a screen device");
- if (gc == null)
- graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment()
- .getDefaultScreenDevice()
- .getDefaultConfiguration();
- else
+ // FIXME: until we implement this, it just causes AWT to crash.
+// if (gc == null)
+// graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment()
+// .getDefaultScreenDevice()
+// .getDefaultConfiguration();
+// else
graphicsConfiguration = gc;
}
More information about the Java-patches
mailing list