diff options
Diffstat (limited to 'libXft')
-rw-r--r-- | libXft/configure.ac | 77 | ||||
-rw-r--r-- | libXft/src/xftcore.c | 10 | ||||
-rw-r--r-- | libXft/src/xftdpy.c | 2 | ||||
-rw-r--r-- | libXft/src/xftdraw.c | 2 |
4 files changed, 50 insertions, 41 deletions
diff --git a/libXft/configure.ac b/libXft/configure.ac index f35eb9109..9b9f6a74d 100644 --- a/libXft/configure.ac +++ b/libXft/configure.ac @@ -1,51 +1,49 @@ -dnl -dnl Copyright © 2003 Keith Packard, Noah Levitt -dnl -dnl Permission to use, copy, modify, distribute, and sell this software and its -dnl documentation for any purpose is hereby granted without fee, provided that -dnl the above copyright notice appear in all copies and that both that -dnl copyright notice and this permission notice appear in supporting -dnl documentation, and that the name of Keith Packard not be used in -dnl advertising or publicity pertaining to distribution of the software without -dnl specific, written prior permission. Keith Packard makes no -dnl representations about the suitability of this software for any purpose. It -dnl is provided "as is" without express or implied warranty. -dnl -dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR -dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -dnl PERFORMANCE OF THIS SOFTWARE. -dnl -dnl Process this file with autoconf to create configure. +# +# Copyright © 2003 Keith Packard, Noah Levitt +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of Keith Packard not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Keith Packard makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. +# +# Initialize Autoconf AC_PREREQ([2.60]) - -dnl -dnl This is the package version number, not the shared library -dnl version. This version number will be substituted into Xft.h -dnl Please bump the minor library number at each release as well. -dnl +# +# This is the package version number, not the shared library +# version. This version number will be substituted into Xft.h +# Please bump the minor library number at each release as well. +# AC_INIT([libXft], [2.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXft]) -AC_CONFIG_AUX_DIR(.) +AC_CONFIG_SRCDIR([Makefile.am]) +AC_CONFIG_HEADERS([config.h]) +# Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE +# Initialize libtool +AC_PROG_LIBTOOL + # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS m4_ifndef([XORG_MACROS_VERSION], [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS -AM_CONFIG_HEADER(config.h) - -# checks for progs -AC_PROG_CC -AC_PROG_LIBTOOL -AC_PROG_SED # Set library version for Xft.h from package version set in AC_INIT # copied from PACKAGE_VERSION_* settings in XORG_VERSION @@ -149,7 +147,8 @@ if test "$VERSION" = "" ; then VERSION=$PACKAGE_VERSION; fi -AC_OUTPUT([Makefile - xft.pc - src/Makefile - man/Makefile]) +AC_CONFIG_FILES([Makefile + xft.pc + src/Makefile + man/Makefile]) +AC_OUTPUT diff --git a/libXft/src/xftcore.c b/libXft/src/xftcore.c index 3f8710929..a0103cf26 100644 --- a/libXft/src/xftcore.c +++ b/libXft/src/xftcore.c @@ -1253,7 +1253,17 @@ XftGlyphFontSpecCore (XftDraw *draw, if (i) { if (g_x1 < x1) + { + if (g_x1 < 0) + { + /* do nothing if the given glyphs are out of range */ + short t = glyphs[i-1].font->max_advance_width + + glyphs[i-1].x; + if (t < 0 && glyphs[i-1].x > 0) + goto bail1; + } x1 = g_x1; + } if (g_y1 < y1) y1 = g_y1; if (g_x2 > x2) diff --git a/libXft/src/xftdpy.c b/libXft/src/xftdpy.c index 055351586..cd50358d2 100644 --- a/libXft/src/xftdpy.c +++ b/libXft/src/xftdpy.c @@ -160,7 +160,7 @@ _XftDisplayInfoGet (Display *dpy, FcBool createIfNecessary) info->next = _XftDisplayInfo; _XftDisplayInfo = info; - info->glyph_memory = NULL; + info->glyph_memory = 0; info->max_glyph_memory = XftDefaultGetInteger (dpy, XFT_MAX_GLYPH_MEMORY, 0, XFT_DPY_MAX_GLYPH_MEMORY); diff --git a/libXft/src/xftdraw.c b/libXft/src/xftdraw.c index ab5174973..21f8538a3 100644 --- a/libXft/src/xftdraw.c +++ b/libXft/src/xftdraw.c @@ -301,7 +301,7 @@ XftDrawSrcPicture (XftDraw *draw, _Xconst XftColor *color) int i; XftColor bitmapColor; - if (!info) + if (!info || !info->solidFormat) return 0; /* |