]> Pileus Git - ~andy/gtk/commitdiff
Requires glib-2.3.0, pango-1.2.0.
authorOwen Taylor <otaylor@redhat.com>
Sat, 2 Aug 2003 17:50:09 +0000 (17:50 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Sat, 2 Aug 2003 17:50:09 +0000 (17:50 +0000)
Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Requires glib-2.3.0, pango-1.2.0.

        * configure.in: Require Xft version 2,
        remove code for handling older versions of pango and Xft.
        Many miscellaneous improvements to X checks

        * acinclude.m4: Add GTK_ADD_LIB() macro for adding
        a library to a variable, avoiding dups.

        * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
        Always load "fixed"

        * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
        for pangox.

19 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
acinclude.m4
configure.in
gdk/x11/gdkdisplay-x11.c
gdk/x11/gdkdisplay-x11.h
gdk/x11/gdkdrawable-x11.c
gdk/x11/gdkdrawable-x11.h
gdk/x11/gdkfont-x11.c
gdk/x11/gdkgc-x11.c
gdk/x11/gdkmain-x11.c
gdk/x11/gdkpango-x11.c
gdk/x11/gdkpixmap-x11.c
gdk/x11/gdkprivate-x11.h
gdk/x11/gdkscreen-x11.c
gdk/x11/gdkwindow-x11.c

index 46271cb3265964e6122c25edfc82d507ebb0342e..fc271c799616993a26609c03c3f6e1e4d868cb4d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,26 @@
+Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in: Requires glib-2.3.0, pango-1.2.0.
+
+       * configure.in: Require Xft version 2,
+       remove code for handling older versions of pango and Xft.
+       Many miscellaneous improvements to X checks
+
+       * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
+       a library to a variable, avoiding dups.
+
+       * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
+       Always load "fixed"
+
+       * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
+       for pangox.
+
 2003-08-02  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkcolorsel.c (color_sample_drop_handle) 
-       (palette_drop_handle): 
-       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept drops with the 
-       wrong format, since the KDE color chooser incorrectly drops application/x-color with 
-       format 8.
+       * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
+       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
+       Accept drops with the wrong format, since the KDE color chooser 
+       incorrectly drops application/x-color with format 8.
 
 2003-08-02  Tor Lillqvist  <tml@iki.fi>
 
@@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
 
 2003-07-15  Matthias Clasen  <maclas@gmx.de>
 
-       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
+       Fight against gtk-doc stupidity.
 
 2003-07-13  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
+       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
+       targets, to pacify gtk-doc.
 
 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
 
index 46271cb3265964e6122c25edfc82d507ebb0342e..fc271c799616993a26609c03c3f6e1e4d868cb4d 100644 (file)
@@ -1,10 +1,26 @@
+Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in: Requires glib-2.3.0, pango-1.2.0.
+
+       * configure.in: Require Xft version 2,
+       remove code for handling older versions of pango and Xft.
+       Many miscellaneous improvements to X checks
+
+       * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
+       a library to a variable, avoiding dups.
+
+       * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
+       Always load "fixed"
+
+       * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
+       for pangox.
+
 2003-08-02  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkcolorsel.c (color_sample_drop_handle) 
-       (palette_drop_handle): 
-       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept drops with the 
-       wrong format, since the KDE color chooser incorrectly drops application/x-color with 
-       format 8.
+       * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
+       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
+       Accept drops with the wrong format, since the KDE color chooser 
+       incorrectly drops application/x-color with format 8.
 
 2003-08-02  Tor Lillqvist  <tml@iki.fi>
 
@@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
 
 2003-07-15  Matthias Clasen  <maclas@gmx.de>
 
-       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
+       Fight against gtk-doc stupidity.
 
 2003-07-13  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
+       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
+       targets, to pacify gtk-doc.
 
 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
 
index 46271cb3265964e6122c25edfc82d507ebb0342e..fc271c799616993a26609c03c3f6e1e4d868cb4d 100644 (file)
@@ -1,10 +1,26 @@
+Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in: Requires glib-2.3.0, pango-1.2.0.
+
+       * configure.in: Require Xft version 2,
+       remove code for handling older versions of pango and Xft.
+       Many miscellaneous improvements to X checks
+
+       * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
+       a library to a variable, avoiding dups.
+
+       * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
+       Always load "fixed"
+
+       * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
+       for pangox.
+
 2003-08-02  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkcolorsel.c (color_sample_drop_handle) 
-       (palette_drop_handle): 
-       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept drops with the 
-       wrong format, since the KDE color chooser incorrectly drops application/x-color with 
-       format 8.
+       * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
+       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
+       Accept drops with the wrong format, since the KDE color chooser 
+       incorrectly drops application/x-color with format 8.
 
 2003-08-02  Tor Lillqvist  <tml@iki.fi>
 
@@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
 
 2003-07-15  Matthias Clasen  <maclas@gmx.de>
 
-       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
+       Fight against gtk-doc stupidity.
 
 2003-07-13  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
+       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
+       targets, to pacify gtk-doc.
 
 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
 
index 46271cb3265964e6122c25edfc82d507ebb0342e..fc271c799616993a26609c03c3f6e1e4d868cb4d 100644 (file)
@@ -1,10 +1,26 @@
+Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in: Requires glib-2.3.0, pango-1.2.0.
+
+       * configure.in: Require Xft version 2,
+       remove code for handling older versions of pango and Xft.
+       Many miscellaneous improvements to X checks
+
+       * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
+       a library to a variable, avoiding dups.
+
+       * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
+       Always load "fixed"
+
+       * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
+       for pangox.
+
 2003-08-02  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkcolorsel.c (color_sample_drop_handle) 
-       (palette_drop_handle): 
-       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept drops with the 
-       wrong format, since the KDE color chooser incorrectly drops application/x-color with 
-       format 8.
+       * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
+       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
+       Accept drops with the wrong format, since the KDE color chooser 
+       incorrectly drops application/x-color with format 8.
 
 2003-08-02  Tor Lillqvist  <tml@iki.fi>
 
@@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
 
 2003-07-15  Matthias Clasen  <maclas@gmx.de>
 
-       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
+       Fight against gtk-doc stupidity.
 
 2003-07-13  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
+       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
+       targets, to pacify gtk-doc.
 
 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
 
index 46271cb3265964e6122c25edfc82d507ebb0342e..fc271c799616993a26609c03c3f6e1e4d868cb4d 100644 (file)
@@ -1,10 +1,26 @@
+Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in: Requires glib-2.3.0, pango-1.2.0.
+
+       * configure.in: Require Xft version 2,
+       remove code for handling older versions of pango and Xft.
+       Many miscellaneous improvements to X checks
+
+       * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
+       a library to a variable, avoiding dups.
+
+       * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
+       Always load "fixed"
+
+       * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
+       for pangox.
+
 2003-08-02  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkcolorsel.c (color_sample_drop_handle) 
-       (palette_drop_handle): 
-       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept drops with the 
-       wrong format, since the KDE color chooser incorrectly drops application/x-color with 
-       format 8.
+       * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
+       * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
+       Accept drops with the wrong format, since the KDE color chooser 
+       incorrectly drops application/x-color with format 8.
 
 2003-08-02  Tor Lillqvist  <tml@iki.fi>
 
@@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
 
 2003-07-15  Matthias Clasen  <maclas@gmx.de>
 
-       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+       * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
+       Fight against gtk-doc stupidity.
 
 2003-07-13  Matthias Clasen  <maclas@gmx.de>
 
-       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
+       * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
+       targets, to pacify gtk-doc.
 
 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
 
index ed6e888994228eec8cec1b8fb3c05173ea993c61..74d13bf41b11482c37dbf73eaf99e11bacf7d3e9 100644 (file)
@@ -11,6 +11,17 @@ AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
 $1
 AC_DIVERT_POP()])])])
 
+# GTK_ADD_LIB(VAR,LIBNAME)
+# ---------------------------------
+# Helper macro to add a -lBlah to a variable, avoiding repeats
+# Note that this needs to be quoted when used in an enclosing macro
+AC_DEFUN([GTK_ADD_LIB],
+[ case "$$1 " in
+    *-l$2[[\ \ ]]*)               ;;
+    *)               $1="-l$2 $$1" ;;
+  esac
+])
+
 # Checks the location of the XML Catalog
 # Usage:
 #   JH_PATH_XML_CATALOG
index c37defee6bdbebd1099c02d62ca202689239b13f..aeb28a4b07a6f73f723f7be7837202c78d3ec5f6 100644 (file)
@@ -28,8 +28,8 @@ m4_define([gtk_api_version], [2.0])
 m4_define([gtk_binary_version], [2.2.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.1.4])
-m4_define([pango_required_version], [1.0.1])
+m4_define([glib_required_version], [2.3.0])
+m4_define([pango_required_version], [1.2.0])
 m4_define([atk_required_version], [1.0.1])
 
 
@@ -993,90 +993,44 @@ fi
 if test "x$gdktarget" = "xx11"; then
   # We start off with the libraries from Pango
 
-  if $PKG_CONFIG --exists pangox ; then : ; else
-    AC_MSG_ERROR([pangox Pango backend is required for x11 target])
-  fi
-    
-  ## be sure we also have Pango built with xft support
-  if $PKG_CONFIG --exists pangoxft ; then
-    PANGO_PACKAGES="pangoxft pangox"
-    have_xft=true
-    AC_DEFINE(HAVE_XFT)
+  ## be sure we also have Pango built with Xft2 support
+  if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
     if $have_freetype ; then
       :
     else
-      AC_MSG_ERROR([pangoxft Pango backend found but did not find freetype libraries])
+      AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
     fi
   else
-    PANGO_PACKAGES="pangox"
-    have_xft=false
+    AC_MSG_ERROR([Pango 1.2.0 and Xft backend is required for x11 target])
   fi
 
-  AM_CONDITIONAL(HAVE_XFT, $have_xft)
-
-  if $have_xft; then
-    if $PKG_CONFIG --exists xft ; then
-      AC_DEFINE(HAVE_XFT2, 1, [Define if we have Xft, version 2])
-    fi
+  if $PKG_CONFIG --exists xft ; then : ; else
+    AC_MSG_ERROR([Xft version 2 is required for x11 target])
   fi
 
   #
   # If Pango included the shared library dependencies from X11 in
   # the pkg-config output, then we use that (to avoid duplicates).
-  # but if they were omitted to avoid binary compatibility problems
+  # but if they were omitted to avoid binary compatibility problems,
   # then we need to repeat the checks.
   #
-  x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
+  x_libs="`$PKG_CONFIG --libs pangoxft`"
   case "$x_libs" in
     *-lX11*) pango_omitted_x_deps=no ;;
     *)       pango_omitted_x_deps=yes ;;
   esac
 
-  x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
+  x_cflags="`$PKG_CONFIG --cflags pangoxft`"
   x_extra_libs=
 
+  AC_PATH_XTRA
+  if test x$no_x = xyes ; then
+    AC_MSG_ERROR([X development libraries not found])
+  fi
+  
   if test $pango_omitted_x_deps = yes ; then
-    AC_PATH_XTRA
-
-    if test x$no_x = xyes ; then
-      AC_MSG_ERROR([X development libraries not found])
-    fi
-
-    x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
-
-    #
-    # Checks for Xft/XRender
-    #
-    if test $have_xft = true ; then
-      have_xft=false
-
-      if pkg-config --exists pangoxft '>=' 1.1.0 ; then
-        x_libs="`pkg-config --libs xft` -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS"
-        have_xft=true
-      else
-        gtk_save_cppflags="$CPPFLAGS"
-        CPPFLAGS="$CPPFLAGS $x_cflags"
-      
-        AC_CHECK_LIB(Xrender, XRenderFindFormat, 
-         [AC_CHECK_LIB(Xft, XftFontOpen,
-           [AC_CHECK_HEADER(X11/Xft/XftFreetype.h,
-             have_xft=true,:)],
-           :,-lXrender -lXext $x_libs $FREETYPE_LIBS)]
-         ,:,-lXext $x_libs)
-         
-        if $have_xft ; then
-         x_libs="$X_LIBS -lXft -lXrender -lXext -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS"
-        fi
-
-        CPPFLAGS="$gtk_save_cppflags"
-      fi
-
-      if $have_xft ; then
-        :
-      else
-        AC_MSG_ERROR([pangoxft Pango backend found, but Xft not found])
-      fi
-    fi
+    # Old versions of Xft didn't necessarily include -lX11 in the output
+    x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
   fi           
 
   ## Strip the .la files
@@ -1097,22 +1051,18 @@ if test "x$gdktarget" = "xx11"; then
   if test "x$enable_shm" = "xyes"; then
     # Check for the Xext library (needed for XShm extention)
     AC_CHECK_LIB(Xext, XShmAttach,
-        if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
-          x_extra_libs="-lXext"
-        fi,
+        [GTK_ADD_LIB(x_extra_libs,Xext)],
         # On AIX, it is in XextSam instead, but we still need -lXext
-        AC_CHECK_LIB(XextSam, XShmAttach, 
-            if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
-               x_extra_libs="-lXextSam -lXext"
-            else
-               x_extra_libs="-lXextSam"
-            fi, , $x_libs_for_checks),
+        [AC_CHECK_LIB(XextSam, XShmAttach, 
+            [GTK_ADD_LIB(x_extra_libs,Xext)
+             GTK_ADD_LIB(x_extra_libs,XextSam)
+            ], , -lXext $x_libs_for_checks)],
         $x_libs_for_checks)
   fi
 
   GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
   # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
-  GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs $x_libs"
+  GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
 
   # Check for Xinerama extension (Solaris impl or Xfree impl)
 
@@ -1127,11 +1077,9 @@ if test "x$gdktarget" = "xx11"; then
                        use_solaris_xinerama=yes, use_solaris_xinerama=no)
          if test "x$use_solaris_xinerama" = "xyes"; then
              AC_CHECK_HEADER(X11/extensions/xinerama.h,
-               if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
-                   x_extra_libs="-lXext $x_extra_libs"
-               fi
+               [GTK_ADD_LIB(x_extra_libs,Xext)
                AC_DEFINE(HAVE_SOLARIS_XINERAMA)
-               AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no, -lXext $x_libs_for_checks)
+               AC_DEFINE(HAVE_XINERAMA)], use_solaris_xinerama=no, -lXext $x_libs_for_checks)
          fi    
          AC_MSG_CHECKING(for Xinerama support on Solaris)
          AC_MSG_RESULT($use_solaris_xinerama);
@@ -1141,12 +1089,10 @@ if test "x$gdktarget" = "xx11"; then
          use_xfree_xinerama=yes
          AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
              [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
-                 x_extra_libs="-lXinerama $x_extra_libs"   
-                 if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
-                     x_extra_libs="-lXext $x_extra_libs"
-                 fi
+                 [GTK_ADD_LIB(x_extra_libs,Xext)
+                 GTK_ADD_LIB(x_extra_libs,Xinerama)
                  AC_DEFINE(HAVE_XFREE_XINERAMA)
-                 AC_DEFINE(HAVE_XINERAMA), 
+                 AC_DEFINE(HAVE_XINERAMA)]
                  use_xfree_xinerama=no,
                   [#include <X11/Xlib.h>])],
              use_xfree_xinerama=no, -lXext $x_libs_for_checks)
@@ -1160,10 +1106,8 @@ if test "x$gdktarget" = "xx11"; then
   # Check for shaped window extension
 
   AC_CHECK_LIB(Xext, XShapeCombineMask,
-      if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
-           x_extra_libs="-lXext $x_extra_libs"
-      fi
-      AC_DEFINE(HAVE_SHAPE_EXT),
+      [GTK_ADD_LIB(x_extra_libs,Xext),
+       AC_DEFINE(HAVE_SHAPE_EXT)],
       ,
       $x_libs_for_checks)
 
@@ -1210,7 +1154,7 @@ if test "x$gdktarget" = "xx11"; then
 
   if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
     AC_DEFINE(XINPUT_XFREE)
-    x_extra_libs="-lXi $x_extra_libs"
+    GTK_ADD_LIB(x_extra_libs, Xi)
   else
     AC_DEFINE(XINPUT_NONE)
   fi
@@ -1222,21 +1166,22 @@ if test "x$gdktarget" = "xx11"; then
   AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
       [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
           # RANDR requires RENDER
-         if test -z "`echo $x_extra_libs $x_libs | grep "\-lXrender" 2> /dev/null`"; then
-             x_extra_libs="-lXrender $x_extra_libs"
-         fi
-         x_extra_libs="-lXrandr $x_extra_libs"
-         AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library),
+          [GTK_ADD_LIB(x_extra_libs, Xrender)
+          GTK_ADD_LIB(x_extra_libs, Xrandr)
+         AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
          :, [#include <X11/Xlib.h>])], : ,
        $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
 
   # Checks for Xcursor library
+  
   have_xcursor=false
   PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
 
   if $have_xcursor ; then
     AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
-    GDK_EXTRA_LIBS="$XCURSOR_LIBS $GDK_EXTRA_LIBS";
+    XCURSOR_PACKAGES="xcursor"
+  else
+    XCURSOR_PACKAGES=
   fi
     
   # Xshm checks
@@ -1273,14 +1218,13 @@ if test "x$gdktarget" = "xx11"; then
 
   GDK_EXTRA_CFLAGS=
   if test $pango_omitted_x_deps = yes ; then
-    GDK_EXTRA_LIBS="$x_extra_libs $x_libs $GDK_EXTRA_LIBS"
+    GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
   else
-    GDK_EXTRA_LIBS="$x_extra_libs $GDK_EXTRA_LIBS"
+    GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
   fi
 
   AM_CONDITIONAL(USE_X11, true)
 else
-  AM_CONDITIONAL(HAVE_XFT, false)
   AM_CONDITIONAL(XINPUT_XFREE, false)
   AM_CONDITIONAL(USE_X11, false)
   AM_CONDITIONAL(HAVE_X11R6, false)
@@ -1289,9 +1233,6 @@ fi
 if test "x$gdktarget" = "xwin32"; then
   # We start off with the libraries from Pango
 
-  ## be sure we also have Pango built with win32 support
-  PANGO_PACKAGES="pangowin32"
-
   if test x$have_wintab = xyes; then
     GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
     AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
@@ -1303,8 +1244,6 @@ else
   AM_CONDITIONAL(USE_WIN32, false)
 fi
 
-AC_SUBST(xinput_progs)
-
 GDK_PIXBUF_XLIB_PACKAGES=
 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
 GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
@@ -1357,11 +1296,13 @@ fi
 #
 
 if test "x$gdktarget" = "xx11"; then
-       if $have_xft = true ; then
-            PANGO_PACKAGES="pangoxft pangox"
-        else
-            PANGO_PACKAGES=pangox
-        fi
+        PANGO_PACKAGES=pangoxft
+       
+        # We no longer use pangox, but if we find it, we link to it 
+       # for binary compatibility.
+       if $PKG_CONFIG --exists pangox ; then
+               PANGO_PACKAGES="$PANGO_PACKAGES pangox"
+       fi
 elif test "x$gdktarget" = "xwin32"; then
         PANGO_PACKAGES=pangowin32
 elif test "x$gdktarget" = "xlinux-fb"; then
@@ -1403,7 +1344,7 @@ fi
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
-GDK_PACKAGES=$PANGO_PACKAGES
+GDK_PACKAGES="$XCURSOR_PACKAGES $PANGO_PACKAGES"
 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
 
index 9227e943d357e75dd98bdeb8f881eb4b5473f2dd..dea04722d056a6456ac158909e7f49c2edaf8b76 100644 (file)
@@ -153,7 +153,6 @@ gdk_display_open (const gchar *display_name)
   display = g_object_new (GDK_TYPE_DISPLAY_X11, NULL);
   display_x11 = GDK_DISPLAY_X11 (display);
 
-  display_x11->use_xft = -1;
   display_x11->use_xshm = TRUE;
   display_x11->xdisplay = xdisplay;
 
index d8e37cc2ec9f12f7622b7d97d1da7e94289983de..a455303f8913f978418650bf90eb3ca2ab128a9d 100644 (file)
@@ -135,8 +135,6 @@ struct _GdkDisplayX11
   gchar *input_gxid_host;
   gint   input_gxid_port;
 
-  gint   use_xft;
-
   /* Startup notification */
   gchar *startup_notification_id;
 
index 306504c2b37464a2d0ba767a8fa63890e05c6b07..8444f0eeada0e2cfcbb2649252bfed6c24973e8e 100644 (file)
 #include "gdkx.h"
 #include "gdkregion-generic.h"
 
-#include <pango/pangox.h>
 #include <config.h>
 
-#if HAVE_XFT
 #include <pango/pangoxft.h>
-#endif
 
 #include <stdlib.h>
 #include <string.h>            /* for memcpy() */
@@ -122,7 +119,6 @@ static void gdk_x11_draw_image     (GdkDrawable     *drawable,
                                     gint             ydest,
                                     gint             width,
                                     gint             height);
-#ifdef HAVE_XFT
 static void gdk_x11_draw_pixbuf    (GdkDrawable     *drawable,
                                    GdkGC           *gc,
                                    GdkPixbuf       *pixbuf,
@@ -135,7 +131,6 @@ static void gdk_x11_draw_pixbuf    (GdkDrawable     *drawable,
                                    GdkRgbDither     dither,
                                    gint             x_dither,
                                    gint             y_dither);
-#endif /* HAVE_XFT */
 
 static void gdk_x11_set_colormap   (GdkDrawable    *drawable,
                                     GdkColormap    *colormap);
@@ -201,9 +196,7 @@ gdk_drawable_impl_x11_class_init (GdkDrawableImplX11Class *klass)
   drawable_class->draw_lines = gdk_x11_draw_lines;
   drawable_class->draw_glyphs = gdk_x11_draw_glyphs;
   drawable_class->draw_image = gdk_x11_draw_image;
-#ifdef HAVE_XFT  
   drawable_class->draw_pixbuf = gdk_x11_draw_pixbuf;
-#endif /* HAVE_XFT */
   
   drawable_class->set_colormap = gdk_x11_set_colormap;
   drawable_class->get_colormap = gdk_x11_get_colormap;
@@ -223,7 +216,6 @@ gdk_drawable_impl_x11_finalize (GObject *object)
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
-#ifdef HAVE_XFT
 static void
 try_pixmap (Display *xdisplay,
            int      screen,
@@ -312,7 +304,6 @@ _gdk_x11_have_render (GdkDisplay *display)
   return x11display->have_render == GDK_YES;
 }
 
-#ifdef HAVE_XFT2
 static XftDraw *
 gdk_x11_drawable_get_xft_draw (GdkDrawable *drawable)
 {
@@ -381,81 +372,6 @@ gdk_x11_drawable_update_xft_clip (GdkDrawable *drawable,
     }
 }
 
-#else /* !HAVE_XFT2 */
-
-static Picture
-gdk_x11_drawable_get_picture (GdkDrawable *drawable)
-{
-  GdkDrawableImplX11 *impl = GDK_DRAWABLE_IMPL_X11 (drawable);
-  if (!_gdk_x11_have_render (gdk_drawable_get_display (drawable)))
-    return None;
-  
-  if (impl->picture == None)
-    {
-      GdkVisual *visual = gdk_drawable_get_visual (drawable);
-      XRenderPictFormat *format;
-      if (!visual)
-       {
-         g_warning ("Using Xft rendering requires the drawable argument to\n"
-                    "have a specified colormap. All windows have a colormap,\n"
-                    "however, pixmaps only have colormap by default if they\n"
-                    "were created with a non-NULL window argument. Otherwise\n"
-                    "a colormap must be set on them with gdk_drawable_set_colormap");
-         return None;
-       }
-      format = XRenderFindVisualFormat (GDK_SCREEN_XDISPLAY (impl->screen),
-                                       gdk_x11_visual_get_xvisual(visual));
-      if (format)
-       impl->picture = XRenderCreatePicture (GDK_SCREEN_XDISPLAY (impl->screen),
-                                             impl->xid, format, 0, NULL);
-    }
-  return impl->picture;
-}
-static void
-gdk_x11_drawable_update_xft_clip (GdkDrawable *drawable,
-                                 GdkGC       *gc)
-{
-  GdkGCX11 *gc_private = gc ? GDK_GC_X11 (gc) : NULL;
-  GdkDrawableImplX11 *impl = GDK_DRAWABLE_IMPL_X11 (drawable);
-  Picture picture = gdk_x11_drawable_get_picture (drawable);
-  if (gc && gc_private->clip_region)
-    {
-      GdkRegionBox *boxes = gc_private->clip_region->rects;
-      gint n_boxes = gc_private->clip_region->numRects;
-      XRectangle *rects = g_new (XRectangle, n_boxes);
-      int i;
-      for (i=0; i < n_boxes; i++)
-       {
-         rects[i].x = CLAMP (boxes[i].x1 + gc->clip_x_origin, G_MINSHORT, G_MAXSHORT);
-         rects[i].y = CLAMP (boxes[i].y1 + gc->clip_y_origin, G_MINSHORT, G_MAXSHORT);
-         rects[i].width = CLAMP (boxes[i].x2 + gc->clip_x_origin, G_MINSHORT, G_MAXSHORT) - rects[i].x;
-         rects[i].height = CLAMP (boxes[i].y2 + gc->clip_y_origin, G_MINSHORT, G_MAXSHORT) - rects[i].y;
-       }
-
-      XRenderSetPictureClipRectangles (GDK_SCREEN_XDISPLAY (impl->screen),
-                                      picture, 0, 0, rects, n_boxes);
-      g_free (rects);
-    }
-  else
-    {
-      XRenderPictureAttributes pa;
-      pa.clip_mask = None;
-      XRenderChangePicture (GDK_SCREEN_XDISPLAY (impl->screen),
-                           picture, CPClipMask, &pa);
-    }
-}
-#endif /* HAVE_XFT2 */
-
-#endif /* HAVE_XFT */
-
 /*****************************************************
  * X11 specific implementations of generic functions *
  *****************************************************/
@@ -847,42 +763,19 @@ gdk_x11_draw_glyphs (GdkDrawable      *drawable,
                     PangoGlyphString *glyphs)
 {
   GdkDrawableImplX11 *impl;
+  XftColor color;
+  XftDraw *draw;
 
   impl = GDK_DRAWABLE_IMPL_X11 (drawable);
 
-#if HAVE_XFT
-  if (PANGO_XFT_IS_FONT (font))
-    {
-#ifdef HAVE_XFT2
-      XftColor color;
-      XftDraw *draw;
+  g_return_if_fail (PANGO_XFT_IS_FONT (font));
  
-      _gdk_gc_x11_get_fg_xft_color (gc, &color);
-       
-      gdk_x11_drawable_update_xft_clip (drawable, gc);
-      draw = gdk_x11_drawable_get_xft_draw (drawable);
-      
-      pango_xft_render (draw, &color, font, glyphs, x, y);
-#else /* !HAVE_XFT2 */
-      Picture src_picture;
-      Picture dest_picture;
-      
-      src_picture = _gdk_x11_gc_get_fg_picture (gc);
+  _gdk_gc_x11_get_fg_xft_color (gc, &color);
       
-      gdk_x11_drawable_update_xft_clip (drawable, gc);
-      dest_picture = gdk_x11_drawable_get_picture (drawable);
+  gdk_x11_drawable_update_xft_clip (drawable, gc);
+  draw = gdk_x11_drawable_get_xft_draw (drawable);
       
-      pango_xft_picture_render (GDK_SCREEN_XDISPLAY (impl->screen), 
-                               src_picture, dest_picture, 
-                               font, glyphs, x, y);
-#endif /* HAVE_XFT2 */
-    }
-  else
-#endif  /* HAVE_XFT */
-    pango_x_render (GDK_SCREEN_XDISPLAY (impl->screen),
-                   impl->xid,
-                   GDK_GC_GET_XGC (gc),
-                   font, glyphs, x, y);
+  pango_xft_render (draw, &color, font, glyphs, x, y);
 }
 
 static void
@@ -999,7 +892,6 @@ gdk_x11_drawable_get_xid (GdkDrawable *drawable)
  * what's the fastest depending on the available picture formats,
  * whether we can used shared pixmaps, etc.
  */
-#ifdef HAVE_XFT
 typedef enum {
   FORMAT_NONE,
   FORMAT_EXACT_MASK,
@@ -1524,4 +1416,3 @@ gdk_x11_draw_pixbuf (GdkDrawable     *drawable,
                      rowstride,
                      dest_x, dest_y, width, height);
 }
-#endif /* HAVE_XFT */
index 0d4185b6f1021c30d9b1076711a874dc51c02825..ea99938b3c6e832559c95dbb67086e60c7388c9f 100644 (file)
 #include <gdk/gdkdrawable.h>
 
 #include <X11/Xlib.h>
-
-#ifdef HAVE_XFT
 #include <X11/Xft/Xft.h>
-#endif
 
 #ifdef __cplusplus
 extern "C" {
@@ -65,11 +62,7 @@ struct _GdkDrawableImplX11
   Window xid;
   GdkScreen *screen;
 
-#ifdef HAVE_XFT2
   XftDraw *xft_draw;
-#elif defined (HAVE_XFT)
-  Picture picture;
-#endif  
 };
  
 struct _GdkDrawableImplX11Class 
index 37bb517d72ccb075303d6e125c74394c6ac76e35..5c65b145b75ea8d232f2b0f82d6dbe586230c05a 100644 (file)
@@ -30,8 +30,6 @@
 #include <X11/Xos.h>
 #include <locale.h>
 
-#include <pango/pangox.h>
-
 #include "gdkx.h"
 #include "gdkfont.h"
 #include "gdkprivate-x11.h"
@@ -285,42 +283,12 @@ GdkFont *
 gdk_font_from_description_for_display (GdkDisplay           *display,
                                       PangoFontDescription *font_desc)
 {
-  PangoFontMap *font_map;
-  PangoFont *font;
-  GdkFont *result = NULL;
+  GdkFont *result;
 
   g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
   g_return_val_if_fail (font_desc != NULL, NULL);
 
-  font_map = pango_x_font_map_for_display (GDK_DISPLAY_XDISPLAY (display));
-  font = pango_font_map_load_font (font_map, NULL, font_desc);
-
-  if (font)
-    {
-      gchar *charset = gdk_font_charset_for_locale ();
-      gint n_subfonts;
-      PangoXSubfont *subfont_ids;
-      gint *subfont_charsets;
-
-      n_subfonts = pango_x_list_subfonts (font, &charset, 1,
-                                         &subfont_ids, &subfont_charsets);
-      if (n_subfonts > 0)
-       {
-         gchar *xlfd = pango_x_font_subfont_xlfd (font, subfont_ids[0]);
-         result = gdk_font_load_for_display (display, xlfd);
-
-         g_free (xlfd);
-       }
-
-      g_free (subfont_ids);
-
-      g_free (subfont_charsets);
-
-      g_free (charset);
-      g_object_unref (font);
-    }
-
-  return result;
+  return gdk_font_load_for_display (display, "fixed");
 }
 
 /**
index 9874c7ea830d7ab078f7b775b719ea56101d0759..52d460b5c3d804177a01a1a3ebce40ede6d968f4 100644 (file)
@@ -109,10 +109,8 @@ gdk_gc_x11_finalize (GObject *object)
   if (x11_gc->clip_region)
     gdk_region_destroy (x11_gc->clip_region);
   
-#if HAVE_XFT
   if (x11_gc->fg_picture != None)
     XRenderFreePicture (GDK_GC_XDISPLAY (x11_gc), x11_gc->fg_picture);
-#endif  
   
   XFreeGC (GDK_GC_XDISPLAY (x11_gc), GDK_GC_XGC (x11_gc));
 
@@ -816,7 +814,6 @@ gdk_x11_gc_get_xgc (GdkGC *gc)
   return gc_x11->xgc;
 }
 
-#ifdef HAVE_XFT
 /* Various bits of the below are roughly cribbed from XFree86
  * lib/Xft/xftdraw.c, Copyright 2000, Keith Packard
  */
@@ -942,5 +939,3 @@ _gdk_gc_x11_get_fg_xft_color (GdkGC    *gc,
   xftcolor->color.blue = color.blue;
   xftcolor->color.alpha = 0xffff;
 }
-
-#endif /* HAVE_XFT */
index 3c5f7de8af7f1082dda4f57ab4b803c657a8be8d..3f8462f0a4d2968ea841db9c52da7c5b8997f006 100644 (file)
@@ -49,8 +49,6 @@
 #include "gdkregion-generic.h"
 #include "gdkinputprivate.h"
 
-#include <pango/pangox.h>
-
 typedef struct _GdkPredicate  GdkPredicate;
 typedef struct _GdkErrorTrap  GdkErrorTrap;
 
index 4645651887dea10f7e1ca6a9508175611a68d70f..b4bf0cf29019313c5275545e030d6c877f602922 100644 (file)
 #include "gdkx.h"
 #include "gdkdisplay-x11.h"
 #include "gdkpango.h"
-#include <pango/pangox.h>
-#ifdef HAVE_XFT
 #include <pango/pangoxft.h>
-#endif
 
 /**
  * gdk_pango_context_get_for_screen:
@@ -48,40 +45,14 @@ PangoContext *
 gdk_pango_context_get_for_screen (GdkScreen *screen)
 {
   PangoContext *context;
-  GdkDisplayX11 *display_x11;
   
   g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
 
   if (screen->closed)
     return NULL;
   
-  display_x11 = GDK_DISPLAY_X11 (GDK_SCREEN_DISPLAY (screen));
-  
-#ifdef HAVE_XFT
-  if (display_x11->use_xft == -1)
-    {
-      const char *val = g_getenv ("GDK_USE_XFT");
-      
-      /* Version 2 of Xft supports rendering FreeType fonts via
-       * the core X protocol, so we default to it everywhere.
-       *
-       * For Xft1, we only enable Xft if the user explicitely
-       * specifies it, and we have the RENDER extension
-       */
-#  ifdef HAVE_XFT2      
-      display_x11->use_xft = !val || (atoi (val) != 0);
-#  else
-      display_x11->use_xft = val && (atoi (val) != 0) && 
-       _gdk_x11_have_render (GDK_SCREEN_DISPLAY (screen));
-#  endif /* HAVE_XFT2 */      
-    }
-  
-  if (display_x11->use_xft)
-    context = pango_xft_get_context (GDK_SCREEN_XDISPLAY (screen),
-                                    GDK_SCREEN_X11 (screen)->screen_num);
-  else
-#endif /* HAVE_XFT */
-    context = pango_x_get_context (GDK_SCREEN_XDISPLAY (screen));
+  context = pango_xft_get_context (GDK_SCREEN_XDISPLAY (screen),
+                                  GDK_SCREEN_X11 (screen)->screen_num);
   
   g_object_set_data (G_OBJECT (context), "gdk-pango-screen", screen);
   
index 06d19cd8a94dd042f2574a985c0ee5954c61a560..f28ad72af5b1fa7310bdaeef5205b1b4b527460e 100644 (file)
@@ -129,19 +129,10 @@ gdk_pixmap_impl_x11_finalize (GObject *object)
 
   if (!display->closed)
     {
-#ifdef HAVE_XFT  
-      {
-       GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl);
+      GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl);
        
-#ifdef HAVE_XFT2
-       if (draw_impl->xft_draw)
-         XftDrawDestroy (draw_impl->xft_draw);
-#else /* !HAVE_XFT2 */
-       if (draw_impl->picture)
-         XRenderFreePicture (GDK_DISPLAY_XDISPLAY (display), draw_impl->picture);
-#endif /* HAVE_XFT2 */
-      }
-#endif /* HAVE_XFT */
+      if (draw_impl->xft_draw)
+       XftDrawDestroy (draw_impl->xft_draw);
 
       if (!impl->is_foreign)
        XFreePixmap (GDK_DISPLAY_XDISPLAY (display), GDK_PIXMAP_XID (wrapper));
index 93d226a71f6ba822f2b82ce48757b97f16eb188c..5ffe3982ef6e7793ca27ff96313ff1047dd8c8f1 100644 (file)
@@ -41,9 +41,7 @@
 
 #include <config.h>
 
-#if HAVE_XFT
 #include <X11/extensions/Xrender.h>
-#endif
 
 #define GDK_TYPE_GC_X11              (_gdk_gc_x11_get_type ())
 #define GDK_GC_X11(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_X11, GdkGCX11))
@@ -67,10 +65,8 @@ struct _GdkGCX11
   guint16 dirty_mask;
   guint have_clip_mask : 1;
 
-#ifdef HAVE_XFT  
   Picture fg_picture;
   XRenderColor fg_picture_color; 
-#endif  
   gulong fg_pixel;
 };
 
@@ -106,12 +102,10 @@ gint _gdk_send_xevent      (GdkDisplay *display,
 
 GType _gdk_gc_x11_get_type (void);
 
-#ifdef HAVE_XFT
 gboolean _gdk_x11_have_render         (GdkDisplay *display);
 Picture  _gdk_x11_gc_get_fg_picture   (GdkGC      *gc);
 void     _gdk_gc_x11_get_fg_xft_color (GdkGC      *gc,
                                       XftColor   *xftcolor);
-#endif /* HAVE_XFT */
 
 GdkGC *_gdk_x11_gc_new                  (GdkDrawable     *drawable,
                                         GdkGCValues     *values,
index 21d66f25d54b0b063be04d7b852c916ad8bcf90c..16c650cade1eb1065e20f1e61b8f9f22909f1ba0 100644 (file)
 #include "gdkdisplay-x11.h"
 #include "gdkx.h"
 
-#ifdef HAVE_XFT
-#include <pango/pangoxft.h>
-#endif
-#include <pango/pangox.h>
-
 #ifdef HAVE_SOLARIS_XINERAMA
 #include <X11/extensions/xinerama.h>
 #endif
index 7b99ee9bf29366175a0760a1ca3d5c1f63b62d65..bf098e1e152b87b087aa1fa76f7fe8f8a29b1e28 100644 (file)
@@ -890,6 +890,7 @@ _gdk_windowing_window_destroy (GdkWindow *window,
 {
   GdkWindowObject *private = (GdkWindowObject *)window;
   GdkToplevelX11 *toplevel;
+  GdkDrawableImplX11 *draw_impl;
   
   g_return_if_fail (GDK_IS_WINDOW (window));
 
@@ -902,19 +903,10 @@ _gdk_windowing_window_destroy (GdkWindow *window,
   if (toplevel)
     gdk_toplevel_x11_free_contents (toplevel);
 
-#ifdef HAVE_XFT  
-  {
-    GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl);
-
-#ifdef HAVE_XFT2
-    if (draw_impl->xft_draw)
-      XftDrawDestroy (draw_impl->xft_draw);
-#else /* !HAVE_XFT2 */
-    if (draw_impl->picture)
-      XRenderFreePicture (GDK_DRAWABLE_XDISPLAY (window), draw_impl->picture);
-#endif /* HAVE_XFT2 */
-  }
-#endif /* HAVE_XFT */  
+  draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl);
+    
+  if (draw_impl->xft_draw)
+    XftDrawDestroy (draw_impl->xft_draw);
 
   if (private->window_type == GDK_WINDOW_FOREIGN)
     {