texlive[42658] Build/source/libs/cairo: cairo 1.14.8
commits+kakuto at tug.org
commits+kakuto at tug.org
Fri Dec 9 09:52:59 CET 2016
Revision: 42658
http://tug.org/svn/texlive?view=revision&revision=42658
Author: kakuto
Date: 2016-12-09 09:52:59 +0100 (Fri, 09 Dec 2016)
Log Message:
-----------
cairo 1.14.8
Modified Paths:
--------------
trunk/Build/source/libs/cairo/ChangeLog
trunk/Build/source/libs/cairo/README
trunk/Build/source/libs/cairo/cairo-PATCHES/ChangeLog
trunk/Build/source/libs/cairo/cairo-PATCHES/TL-Changes
trunk/Build/source/libs/cairo/cairo-src/NEWS
trunk/Build/source/libs/cairo/cairo-src/build/aclocal.float.m4
trunk/Build/source/libs/cairo/cairo-src/cairo-version.h
trunk/Build/source/libs/cairo/cairo-src/src/cairo-debug.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-pattern.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-surface-observer.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-xcb-surface-render.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface-shm.c
trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface.c
trunk/Build/source/libs/cairo/configure
trunk/Build/source/libs/cairo/version.ac
Modified: trunk/Build/source/libs/cairo/ChangeLog
===================================================================
--- trunk/Build/source/libs/cairo/ChangeLog 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/ChangeLog 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1,3 +1,8 @@
+2016-12-09 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ Import cairo-1.14.8.
+ * version.ac: Adapted.
+
2016-02-15 Karl Berry <karl at tug.org>
* cairo-PATCHES: rename from cairo-src-PATCHES.
Modified: trunk/Build/source/libs/cairo/README
===================================================================
--- trunk/Build/source/libs/cairo/README 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/README 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1,4 +1,4 @@
- Building cairo-1.14.6 as part of the TL tree
+ Building cairo-1.14.8 as part of the TL tree
============================================
This directory libs/cairo/ uses a proxy Makefile.am to build the cairo
@@ -12,4 +12,4 @@
2012-11-10 Taco Hoekwater <taco at metatex.org>
2013-04-15 Peter Breitenlohner <peb at mppmu.mpg.de>
-2015-12-28 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+2016-12-09 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
Modified: trunk/Build/source/libs/cairo/cairo-PATCHES/ChangeLog
===================================================================
--- trunk/Build/source/libs/cairo/cairo-PATCHES/ChangeLog 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-PATCHES/ChangeLog 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1,3 +1,7 @@
+2016-12-09 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ Import cairo-1.14.8.
+
2015-12-28 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
Import cairo-1.14.6.
Modified: trunk/Build/source/libs/cairo/cairo-PATCHES/TL-Changes
===================================================================
--- trunk/Build/source/libs/cairo/cairo-PATCHES/TL-Changes 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-PATCHES/TL-Changes 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1,5 +1,5 @@
-Changes applied to the cairo-1.14.6/ tree as obtained from:
- http://cairographics.org/releases/cairo-1.14.6.tar.xz
+Changes applied to the cairo-1.14.8/ tree as obtained from:
+ http://cairographics.org/releases/cairo-1.14.8.tar.xz
Removed:
Makefile.in
Modified: trunk/Build/source/libs/cairo/cairo-src/NEWS
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/NEWS 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/NEWS 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1,3 +1,46 @@
+Release 1.14.8 (2016-12-07 Bryce Harrington <bryce at osg.samsung.com>)
+========================================================================
+Bugfix release rolling up backported fixes for the past year.
+
+For a complete log of changes since 1.14.6, please see:
+
+ http://cairographics.org/releases/ChangeLog.cairo-1.14.8
+
+Features
+--------
+None
+
+API Changes
+-----------
+None
+
+Dependency Changes
+------------------
+None
+
+Performance Optimizations
+-------------------------
+None
+
+Bug Fixes
+---------
+* Fix "invalidfont" error on some printers when printing PDFs with
+ embedded fonts that have glyphs (such as spaces) with
+ num_contours == 0. (Bug #79897)
+* Fix deadlock when destruction of a scaled font indirectly triggers
+ destruction of a second scaled font, causing the global cache to be
+ locked twice. (Bug #93891)
+* Fix X errors reported to applications when shmdt() is called before
+ the Attach request is processed, due to missing xcb and xlib calls.
+* Fix random failure in record-paint-alpha-clip-mast test case, caused
+ by an incorrect assumption that a deferred clear can be skipped.
+ (Bug #84330)
+* Fix crash when dealing with an XShmGetImage() failure, caused by a
+ double free in _get_image_surface(). (Bug #91967)
+* Fix build issue when using non-GNU strings utility. (Bug #88639)
+* Cleanup debugging text sent to stdout instead of log. (Bug #95227)
+
+
Release 1.14.6 (2015-12-09 Bryce Harrington <bryce at osg.samsung.com>)
========================================================================
Simple bugfix release to fix one Windows issue.
@@ -4,7 +47,7 @@
For a complete log of changes since 1.14.4, please see:
- http://cairographics.org/releases/ChangeLog.1.14.6
+ http://cairographics.org/releases/ChangeLog.cairo-1.14.6
Features
--------
Modified: trunk/Build/source/libs/cairo/cairo-src/build/aclocal.float.m4
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/build/aclocal.float.m4 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/build/aclocal.float.m4 2016-12-09 08:52:59 UTC (rev 42658)
@@ -31,10 +31,10 @@
]])], [
-if strings - conftest$ac_exeext | grep noonsees >/dev/null ; then
+if strings -a conftest$ac_exeext | grep noonsees >/dev/null ; then
ax_cv_c_float_words_bigendian=yes
fi
-if strings - conftest$ac_exeext | grep seesnoon >/dev/null ; then
+if strings -a conftest$ac_exeext | grep seesnoon >/dev/null ; then
if test "$ax_cv_c_float_words_bigendian" = unknown; then
ax_cv_c_float_words_bigendian=no
else
Modified: trunk/Build/source/libs/cairo/cairo-src/cairo-version.h
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/cairo-version.h 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/cairo-version.h 2016-12-09 08:52:59 UTC (rev 42658)
@@ -3,6 +3,6 @@
#define CAIRO_VERSION_MAJOR 1
#define CAIRO_VERSION_MINOR 14
-#define CAIRO_VERSION_MICRO 6
+#define CAIRO_VERSION_MICRO 8
#endif
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-debug.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-debug.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-debug.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -262,7 +262,7 @@
box.p1.x, box.p1.y, box.p2.x, box.p2.y);
}
- printf ("\n");
+ fprintf (stream, "\n");
}
void
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-pattern.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-pattern.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-pattern.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -4614,7 +4614,7 @@
_cairo_debug_print_raster_source_pattern (FILE *file,
const cairo_raster_source_pattern_t *raster)
{
- printf (" content: %x, size %dx%d\n", raster->content, raster->extents.width, raster->extents.height);
+ fprintf (file, " content: %x, size %dx%d\n", raster->content, raster->extents.width, raster->extents.height);
}
static void
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -818,23 +818,35 @@
void
_cairo_scaled_font_reset_cache (cairo_scaled_font_t *scaled_font)
{
+ cairo_scaled_glyph_page_t *page;
+
CAIRO_MUTEX_LOCK (scaled_font->mutex);
assert (! scaled_font->cache_frozen);
assert (! scaled_font->global_cache_frozen);
CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex);
- while (! cairo_list_is_empty (&scaled_font->glyph_pages)) {
- cairo_scaled_glyph_page_t *page =
- cairo_list_first_entry (&scaled_font->glyph_pages,
- cairo_scaled_glyph_page_t,
- link);
+ cairo_list_foreach_entry (page,
+ cairo_scaled_glyph_page_t,
+ &scaled_font->glyph_pages,
+ link) {
cairo_scaled_glyph_page_cache.size -= page->cache_entry.size;
_cairo_hash_table_remove (cairo_scaled_glyph_page_cache.hash_table,
(cairo_hash_entry_t *) &page->cache_entry);
+ }
+ CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
+
+ /* Destroy scaled_font's pages while holding its lock only, and not the
+ * global page cache lock. The destructor can cause us to recurse and
+ * end up back here for a different scaled_font. */
+
+ while (! cairo_list_is_empty (&scaled_font->glyph_pages)) {
+ page = cairo_list_first_entry (&scaled_font->glyph_pages,
+ cairo_scaled_glyph_page_t,
+ link);
_cairo_scaled_glyph_page_destroy (scaled_font, page);
}
- CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
+
CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
}
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-surface-observer.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-surface-observer.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-surface-observer.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1218,8 +1218,6 @@
cairo_surface_observer_t *surface = abstract_surface;
cairo_status_t status;
- printf ("mark-dirty (%d, %d) x (%d, %d)\n", x, y, width, height);
-
status = CAIRO_STATUS_SUCCESS;
if (surface->target->backend->mark_dirty_rectangle)
status = surface->target->backend->mark_dirty_rectangle (surface->target,
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -653,16 +653,34 @@
if (unlikely (status))
goto FAIL;
- if (size != 0) {
- status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
+ if (size > 1) {
+ tt_glyph_data_t *glyph_data;
+ int num_contours;
+
+ status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
TT_TAG_glyf, begin, buffer, &size);
if (unlikely (status))
goto FAIL;
- status = cairo_truetype_font_remap_composite_glyph (font, buffer, size);
- if (unlikely (status))
- goto FAIL;
- }
+ glyph_data = (tt_glyph_data_t *) buffer;
+ num_contours = (int16_t)be16_to_cpu (glyph_data->num_contours);
+ if (num_contours < 0) {
+ status = cairo_truetype_font_remap_composite_glyph (font, buffer, size);
+ if (unlikely (status))
+ goto FAIL;
+ } else if (num_contours == 0) {
+ /* num_contours == 0 is undefined in the Opentype
+ * spec. There are some embedded fonts that have a
+ * space glyph with num_contours = 0 that fails on
+ * some printers. The spec requires glyphs without
+ * contours to have a 0 size glyph entry in the loca
+ * table.
+ *
+ * If num_contours == 0, truncate the glyph to 0 size.
+ */
+ _cairo_array_truncate (&font->output, _cairo_array_num_elements (&font->output) - size);
+ }
+ }
}
status = cairo_truetype_font_align_output (font, &next);
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-xcb-surface-render.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-xcb-surface-render.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-xcb-surface-render.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -3399,8 +3399,6 @@
}
}
- dst->deferred_clear = FALSE; /* assert(trap extents == extents); */
-
status = _composite_traps (&info,
dst, CAIRO_OPERATOR_SOURCE, mask_pattern,
dst_x, dst_y,
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface-shm.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface-shm.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface-shm.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -441,7 +441,7 @@
ev.type = display->shm->event;
ev.send_event = 1; /* XXX or lie? */
- ev.serial = NextRequest (display->display);
+ ev.serial = XNextRequest (display->display);
ev.drawable = display->shm->window;
ev.major_code = display->shm->opcode;
ev.minor_code = X_ShmPutImage;
@@ -599,7 +599,7 @@
goto cleanup;
}
- pool->attached = NextRequest (dpy);
+ pool->attached = XNextRequest (dpy);
success = XShmAttach (dpy, &pool->shm);
#if !IPC_RMID_DEFERRED_RELEASE
XSync (dpy, FALSE);
@@ -1199,7 +1199,7 @@
cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) _shm;
cairo_xlib_display_t *display = (cairo_xlib_display_t *) _shm->device;
- shm->active = NextRequest (display->display);
+ shm->active = XNextRequest (display->display);
}
void
@@ -1241,7 +1241,7 @@
cairo_xlib_display_t *display = (cairo_xlib_display_t *) surface->device;
cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) surface;
- display->shm->last_event = shm->active = NextRequest (display->display);
+ display->shm->last_event = shm->active = XNextRequest (display->display);
return &shm->info->pool->shm;
}
Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface.c 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-xlib-surface.c 2016-12-09 08:52:59 UTC (rev 42658)
@@ -807,6 +807,7 @@
}
cairo_surface_destroy (&image->base);
+ image = NULL;
}
}
@@ -1011,7 +1012,8 @@
cairo_device_release (&display->base);
if (unlikely (status)) {
- cairo_surface_destroy (&image->base);
+ if (image)
+ cairo_surface_destroy (&image->base);
return _cairo_surface_create_in_error (status);
}
Modified: trunk/Build/source/libs/cairo/configure
===================================================================
--- trunk/Build/source/libs/cairo/configure 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/configure 2016-12-09 08:52:59 UTC (rev 42658)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for cairo (TeX Live) 1.14.6.
+# Generated by GNU Autoconf 2.69 for cairo (TeX Live) 1.14.8.
#
# Report bugs to <tex-k at tug.org>.
#
@@ -580,8 +580,8 @@
# Identity of this package.
PACKAGE_NAME='cairo (TeX Live)'
PACKAGE_TARNAME='cairo--tex-live-'
-PACKAGE_VERSION='1.14.6'
-PACKAGE_STRING='cairo (TeX Live) 1.14.6'
+PACKAGE_VERSION='1.14.8'
+PACKAGE_STRING='cairo (TeX Live) 1.14.8'
PACKAGE_BUGREPORT='tex-k at tug.org'
PACKAGE_URL=''
@@ -1349,7 +1349,7 @@
# 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 cairo (TeX Live) 1.14.6 to adapt to many kinds of systems.
+\`configure' configures cairo (TeX Live) 1.14.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1420,7 +1420,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of cairo (TeX Live) 1.14.6:";;
+ short | recursive ) echo "Configuration of cairo (TeX Live) 1.14.8:";;
esac
cat <<\_ACEOF
@@ -1523,7 +1523,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-cairo (TeX Live) configure 1.14.6
+cairo (TeX Live) configure 1.14.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2129,7 +2129,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by cairo (TeX Live) $as_me 1.14.6, which was
+It was created by cairo (TeX Live) $as_me 1.14.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4383,7 +4383,7 @@
# Define the identity of the package.
PACKAGE='cairo--tex-live-'
- VERSION='1.14.6'
+ VERSION='1.14.8'
cat >>confdefs.h <<_ACEOF
@@ -7273,7 +7273,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by cairo (TeX Live) $as_me 1.14.6, which was
+This file was extended by cairo (TeX Live) $as_me 1.14.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7339,7 +7339,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-cairo (TeX Live) config.status 1.14.6
+cairo (TeX Live) config.status 1.14.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Modified: trunk/Build/source/libs/cairo/version.ac
===================================================================
--- trunk/Build/source/libs/cairo/version.ac 2016-12-09 07:19:10 UTC (rev 42657)
+++ trunk/Build/source/libs/cairo/version.ac 2016-12-09 08:52:59 UTC (rev 42658)
@@ -8,4 +8,4 @@
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current cairo version
-m4_define([cairo_version], [1.14.6])
+m4_define([cairo_version], [1.14.8])
More information about the tex-live-commits
mailing list