summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog32
-rw-r--r--ChangeLog.pre-2-1032
-rw-r--r--ChangeLog.pre-2-432
-rw-r--r--ChangeLog.pre-2-632
-rw-r--r--ChangeLog.pre-2-832
-rw-r--r--acinclude.m411
-rw-r--r--configure.in157
-rw-r--r--gdk/x11/gdkdisplay-x11.c1
-rw-r--r--gdk/x11/gdkdisplay-x11.h2
-rw-r--r--gdk/x11/gdkdrawable-x11.c123
-rw-r--r--gdk/x11/gdkdrawable-x11.h7
-rw-r--r--gdk/x11/gdkfont-x11.c36
-rw-r--r--gdk/x11/gdkgc-x11.c5
-rw-r--r--gdk/x11/gdkmain-x11.c2
-rw-r--r--gdk/x11/gdkpango-x11.c33
-rw-r--r--gdk/x11/gdkpixmap-x11.c15
-rw-r--r--gdk/x11/gdkprivate-x11.h6
-rw-r--r--gdk/x11/gdkscreen-x11.c5
-rw-r--r--gdk/x11/gdkwindow-x11.c18
19 files changed, 204 insertions, 377 deletions
diff --git a/ChangeLog b/ChangeLog
index 46271cb326..fc271c7996 100644
--- 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>
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 46271cb326..fc271c7996 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -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>
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 46271cb326..fc271c7996 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -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>
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 46271cb326..fc271c7996 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -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>
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 46271cb326..fc271c7996 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -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>
diff --git a/acinclude.m4 b/acinclude.m4
index ed6e888994..74d13bf41b 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -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
diff --git a/configure.in b/configure.in
index c37defee6b..aeb28a4b07 100644
--- a/configure.in
+++ b/configure.in
@@ -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"
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 9227e943d3..dea04722d0 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -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;
diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h
index d8e37cc2ec..a455303f89 100644
--- a/gdk/x11/gdkdisplay-x11.h
+++ b/gdk/x11/gdkdisplay-x11.h
@@ -135,8 +135,6 @@ struct _GdkDisplayX11
gchar *input_gxid_host;
gint input_gxid_port;
- gint use_xft;
-
/* Startup notification */
gchar *startup_notification_id;
diff --git a/gdk/x11/gdkdrawable-x11.c b/gdk/x11/gdkdrawable-x11.c
index 306504c2b3..8444f0eead 100644
--- a/gdk/x11/gdkdrawable-x11.c
+++ b/gdk/x11/gdkdrawable-x11.c
@@ -27,12 +27,9 @@
#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 */
diff --git a/gdk/x11/gdkdrawable-x11.h b/gdk/x11/gdkdrawable-x11.h
index 0d4185b6f1..ea99938b3c 100644
--- a/gdk/x11/gdkdrawable-x11.h
+++ b/gdk/x11/gdkdrawable-x11.h
@@ -32,10 +32,7 @@
#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
diff --git a/gdk/x11/gdkfont-x11.c b/gdk/x11/gdkfont-x11.c
index 37bb517d72..5c65b145b7 100644
--- a/gdk/x11/gdkfont-x11.c
+++ b/gdk/x11/gdkfont-x11.c
@@ -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");
}
/**
diff --git a/gdk/x11/gdkgc-x11.c b/gdk/x11/gdkgc-x11.c
index 9874c7ea83..52d460b5c3 100644
--- a/gdk/x11/gdkgc-x11.c
+++ b/gdk/x11/gdkgc-x11.c
@@ -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 */
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index 3c5f7de8af..3f8462f0a4 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -49,8 +49,6 @@
#include "gdkregion-generic.h"
#include "gdkinputprivate.h"
-#include <pango/pangox.h>
-
typedef struct _GdkPredicate GdkPredicate;
typedef struct _GdkErrorTrap GdkErrorTrap;
diff --git a/gdk/x11/gdkpango-x11.c b/gdk/x11/gdkpango-x11.c
index 4645651887..b4bf0cf290 100644
--- a/gdk/x11/gdkpango-x11.c
+++ b/gdk/x11/gdkpango-x11.c
@@ -23,10 +23,7 @@
#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);
diff --git a/gdk/x11/gdkpixmap-x11.c b/gdk/x11/gdkpixmap-x11.c
index 06d19cd8a9..f28ad72af5 100644
--- a/gdk/x11/gdkpixmap-x11.c
+++ b/gdk/x11/gdkpixmap-x11.c
@@ -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));
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h
index 93d226a71f..5ffe3982ef 100644
--- a/gdk/x11/gdkprivate-x11.h
+++ b/gdk/x11/gdkprivate-x11.h
@@ -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,
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index 21d66f25d5..16c650cade 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -32,11 +32,6 @@
#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
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 7b99ee9bf2..bf098e1e15 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -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)
{