Hi Tom,

Thomas Fitzsimmons wrote:

would you please try this patch on your platform and commit it if it works?

Thanks for the patch, I had something similar in mind.

Unfortunately your version doesn't help me, I need to add -lXrender to the X_EXTRA_LIBS then your patch works.

Attached the diff.


Andreas

Index: configure.ac
===================================================================
RCS file: /cvsroot/classpath/classpath/configure.ac,v
retrieving revision 1.153
diff -u -r1.153 configure.ac
--- configure.ac        27 May 2006 21:10:46 -0000      1.153
+++ configure.ac        30 May 2006 19:03:20 -0000
@@ -406,6 +406,12 @@
     PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
     PKG_CHECK_MODULES(FREETYPE2, freetype2)
     PKG_CHECK_MODULES(PANGOFT2, pangoft2)
+    dnl Check if we can link against the XRender library and set
+    dnl HAVE_XRENDER accordingly.
+    AC_CHECK_LIB([Xrender], [XRenderQueryExtension],
+                [AC_DEFINE(HAVE_XRENDER, 1, [Define to 1 if you have 
libXrender.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrender"]],
+                [true],
+                [${X_LIBS}])
 
     AC_SUBST(GTK_CFLAGS)
     AC_SUBST(GTK_LIBS)
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c,v
retrieving revision 1.4
diff -u -r1.4 gnu_java_awt_peer_gtk_ComponentGraphics.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c       30 May 
2006 11:30:02 -0000      1.4
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c       30 May 
2006 19:03:20 -0000
@@ -55,7 +55,7 @@
 #include "gnu_java_awt_peer_gtk_ComponentGraphics.h"
 
 
-static void 
+void 
 cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable(GtkWidget *widget,
        GdkDrawable **draw, GdkWindow **win)
 {  
@@ -78,9 +78,11 @@
 Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender
   (JNIEnv *env __attribute__ ((unused)), jclass cls __attribute__ ((unused)))
 { 
+#if HAVE_XRENDER
   int ev = 0, err = 0; 
   if( XRenderQueryExtension (GDK_DISPLAY (), &ev, &err) )
     return JNI_TRUE;
+#endif
   return JNI_FALSE;
 }
 

Reply via email to