summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2022-11-16 20:25:47 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2022-11-16 20:25:47 +0000
commita05573bdf6a9525ee61b7e8be5da20b3f10e97b2 (patch)
tree30d64068ee3ffcba2d665a1fae6571017598626b /lib
parentbeb6af713aa11cdc16adf3ae80835c261e37d50b (diff)
Update libXft to version 2.3.7.
This is a fix for a stack overflow that was introduced in 2.3.5.
Diffstat (limited to 'lib')
-rw-r--r--lib/libXft/ChangeLog54
-rw-r--r--lib/libXft/compile6
-rw-r--r--lib/libXft/configure20
-rw-r--r--lib/libXft/configure.ac2
-rw-r--r--lib/libXft/src/xftglyphs.c4
-rw-r--r--lib/libXft/src/xftrender.c3
6 files changed, 72 insertions, 17 deletions
diff --git a/lib/libXft/ChangeLog b/lib/libXft/ChangeLog
index 641e8cc3c..c20d30664 100644
--- a/lib/libXft/ChangeLog
+++ b/lib/libXft/ChangeLog
@@ -1,3 +1,57 @@
+commit 1463255cd4f537baabf8f2c65270e4924d4ed656
+Author: Thomas E. Dickey <dickey@invisible-island.net>
+Date: Tue Nov 15 03:39:55 2022 -0500
+
+ libXft 2.3.7
+
+ Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
+
+commit 4f704b700beb6486213e1096b0e702f4a9067184
+Author: Thomas E. Dickey <dickey@invisible-island.net>
+Date: Mon Nov 14 18:42:47 2022 -0500
+
+ libxft issue #16
+
+ https://gitlab.freedesktop.org/xorg/lib/libxft/-/issues/16
+
+ Stack gets smashed in fonts with colors when calling XftGlyphRender
+
+ BGRA changes made incorrect comparison for local vs allocated
+ buffer in XftGlyphSpecRender
+
+ Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
+
+commit de4592a18bba0bfc88232f6f4ecad7c2fa5e616e
+Author: Thomas E. Dickey <dickey@invisible-island.net>
+Date: Sun Nov 13 05:56:12 2022 -0500
+
+ fix compiler warning
+
+ Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
+
+commit 98e27ba4b2c3a4825a3497cd481992374a9c9e98
+Author: Thomas E. Dickey <dickey@invisible-island.net>
+Date: Sat Nov 12 12:48:08 2022 -0500
+
+ libxft issue #15
+
+ https://gitlab.freedesktop.org/xorg/lib/libxft/-/issues/15
+
+ XftFontLoadGlyphs for mono font returns wrong info in extents from
+ XftTextExtentsUtf8 for variable chars
+
+ Patch by Scott Mcdermott, based on
+
+ https://github.com/googlefonts/Inconsolata/issues/42
+
+ Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
+
+commit 6d246534bd156e5cb901b2cc9e2b9d473cf73506
+Author: ericLemanissier <eric.lemanissier@gmail.com>
+Date: Fri Sep 23 07:59:55 2022 +0000
+
+ stdint.h header is needed for SIZE_MAX
+
commit 7d3bcd3b9ae3ffbfcd4f31c8f1db2254df90bc33
Author: Thomas E. Dickey <dickey@invisible-island.net>
Date: Sat Sep 10 09:59:49 2022 -0400
diff --git a/lib/libXft/compile b/lib/libXft/compile
index 99e50524b..df363c8fb 100644
--- a/lib/libXft/compile
+++ b/lib/libXft/compile
@@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@@ -67,7 +67,7 @@ func_file_conv ()
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin/*)
+ cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
diff --git a/lib/libXft/configure b/lib/libXft/configure
index eb1201e23..90cc6579c 100644
--- a/lib/libXft/configure
+++ b/lib/libXft/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libXft 2.3.5.
+# Generated by GNU Autoconf 2.69 for libXft 2.3.7.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libXft/issues>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libXft'
PACKAGE_TARNAME='libXft'
-PACKAGE_VERSION='2.3.5'
-PACKAGE_STRING='libXft 2.3.5'
+PACKAGE_VERSION='2.3.7'
+PACKAGE_STRING='libXft 2.3.7'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libXft/issues'
PACKAGE_URL=''
@@ -1366,7 +1366,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libXft 2.3.5 to adapt to many kinds of systems.
+\`configure' configures libXft 2.3.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1437,7 +1437,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libXft 2.3.5:";;
+ short | recursive ) echo "Configuration of libXft 2.3.7:";;
esac
cat <<\_ACEOF
@@ -1568,7 +1568,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libXft configure 2.3.5
+libXft configure 2.3.7
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1892,7 +1892,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libXft $as_me 2.3.5, which was
+It was created by libXft $as_me 2.3.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2721,7 +2721,7 @@ fi
# Define the identity of the package.
PACKAGE='libXft'
- VERSION='2.3.5'
+ VERSION='2.3.7'
cat >>confdefs.h <<_ACEOF
@@ -18436,7 +18436,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libXft $as_me 2.3.5, which was
+This file was extended by libXft $as_me 2.3.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18502,7 +18502,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libXft config.status 2.3.5
+libXft config.status 2.3.7
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/lib/libXft/configure.ac b/lib/libXft/configure.ac
index 016cb88ec..0bb799756 100644
--- a/lib/libXft/configure.ac
+++ b/lib/libXft/configure.ac
@@ -27,7 +27,7 @@ AC_PREREQ([2.60])
# 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.3.6],
+AC_INIT([libXft], [2.3.7],
[https://gitlab.freedesktop.org/xorg/lib/libXft/issues], [libXft])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
diff --git a/lib/libXft/src/xftglyphs.c b/lib/libXft/src/xftglyphs.c
index d928a702f..6781cd8ec 100644
--- a/lib/libXft/src/xftglyphs.c
+++ b/lib/libXft/src/xftglyphs.c
@@ -847,11 +847,11 @@ XftFontLoadGlyphs (Display *dpy,
if (font->info.load_flags & FT_LOAD_VERTICAL_LAYOUT)
{
xftg->metrics.xOff = 0;
- xftg->metrics.yOff = (short)(-font->public.max_advance_width);
+ xftg->metrics.yOff = (short)(-TRUNC(ROUND(glyphslot->advance.y)));
}
else
{
- xftg->metrics.xOff = (short)(font->public.max_advance_width);
+ xftg->metrics.xOff = (short)(TRUNC(ROUND(glyphslot->advance.x)));
xftg->metrics.yOff = 0;
}
}
diff --git a/lib/libXft/src/xftrender.c b/lib/libXft/src/xftrender.c
index 3021d5616..58bd63ab3 100644
--- a/lib/libXft/src/xftrender.c
+++ b/lib/libXft/src/xftrender.c
@@ -21,6 +21,7 @@
*/
#include "xftint.h"
+#include <stdint.h>
#define NUM_LOCAL 1024
#define NUM_ELT_LOCAL 128
@@ -364,7 +365,7 @@ XftGlyphSpecRender (Display *dpy,
}
elts = elts_local;
- if (!font->info.color && nelt > NUM_ELT_LOCAL)
+ if (nelt > NUM_ELT_LOCAL)
{
elts = AllocGlyphElt8Array (nelt);
if (!elts)