diff options
author | Owen W. Taylor <otaylor@fishsoup.net> | 2016-08-26 11:44:55 -0400 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2016-08-30 17:17:23 +0200 |
commit | e13d28ee5d8724fc4b22f26bce01a7d36355f272 (patch) | |
tree | 1bdcbce2e2f182c60a0ac2e28dfe463bb9c6d6d0 | |
parent | 2b7e4fb2c93a2061b79ac8fb37628698d49618cc (diff) |
Check for either xfont.pc or xfont2.pc
More recent versions of Xfont have a different API (with namespacing
for libXfont functions.) Check for xfont2.pc and if found, use that, and
use the new API. The rational for preferring libXfont2 is that as a recent
change the xserver module looks for and requires libXfont2, and it's better
not to have both versions of the library in process.
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | src/uxa/uxa-damage.c | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 7e95b01..451d42a 100644 --- a/configure.ac +++ b/configure.ac @@ -60,8 +60,14 @@ XORG_DRIVER_CHECK_EXT(RENDER, renderproto) XORG_DRIVER_CHECK_EXT(XV, videoproto) XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto) +# We can use either version 1 or version 2 of libXfont +PKG_CHECK_EXISTS(xfont2, + [xfont_pc=xfont2 + AC_DEFINE(HAVE_XFONT2,1,[Version 2 of the libXfont library])], + [xfont_pc=xfont]) + # Obtain compiler/linker options for the driver dependencies -PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto xfont $REQUIRED_MODULES) +PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $xfont_pc $REQUIRED_MODULES) save_CFLAGS="$CFLAGS" diff --git a/src/uxa/uxa-damage.c b/src/uxa/uxa-damage.c index a6d1ee3..6afb346 100644 --- a/src/uxa/uxa-damage.c +++ b/src/uxa/uxa-damage.c @@ -35,7 +35,11 @@ #include <X11/X.h> #include <X11/fonts/font.h> #include <X11/fonts/fontstruct.h> +#ifdef HAVE_XFONT2 +#include <X11/fonts/libxfont2.h> +#else #include <X11/fonts/fontutil.h> +#endif #include "uxa-damage.h" @@ -947,8 +951,12 @@ uxa_damage_chars (RegionPtr region, { ExtentInfoRec extents; BoxRec box; - + +#ifdef HAVE_XFONT2 + xfont2_query_glyph_extents(font, charinfo, n, &extents); +#else QueryGlyphExtents(font, charinfo, n, &extents); +#endif if (imageblt) { if (extents.overallWidth > extents.overallRight) |