# Generated by configure.  Do not edit.

commit b43e7c6f3cf7855e16170a06d3a9c7234c60ca94
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Mar 18 18:12:43 2022 +0000

    Release Cairo 1.17.6 (snapshot)

 NEWS                | 40 ++++++++++++++++++++++++++++++++++++++++
 src/cairo-version.h |  2 +-
 2 files changed, 41 insertions(+), 1 deletion(-)

commit 8344dc1136dbf018d1237ba60420e3ea18909c75
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Mar 18 18:38:41 2022 +0000

    build: Avoid SSHing into a host during release checks
    
    We really don't need to have SSH access if we're just checking for the
    integrity of the next release. We can simply check if a specially
    crafted file linking to the latest release is present.

 build/Makefile.am.releasing | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 1e5a98b9cb42628ba964686fa1f24b85000a9936
Merge: ec5460336 9bb203636
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Mar 12 01:24:14 2022 +0000

    Merge branch 'malloc-hook2' into 'master'
    
    Fix warning in malloc-stats.c
    
    See merge request cairo/cairo!297

commit ec54603366a39a5ad12c489aaf0bbb85859fa7a9
Merge: 777d35fa8 82119ec2f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Mar 9 09:36:35 2022 +0000

    Merge branch 'issue-263-2' into 'master'
    
    Fix font count in Inkscape's win32 pdf export
    
    See merge request cairo/cairo!296

commit 9bb2036369eb83887eb1780522ea2b4481073a78
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Mar 9 19:43:10 2022 +1030

    Fix warning
    
    ../util/malloc-stats.c:295:1: warning: no previous declaration for ‘malloc_stats’ [-Wmissing-declarations]

 util/malloc-stats.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 82119ec2f38fc92ba711454d87558092f0ef4b32
Author: Nathan Lee <2431820-nathanal@users.noreply.gitlab.com>
Date:   Wed Mar 9 12:43:42 2022 +1100

    Fix font count in Inkscape's win32 pdf export
    
    Fix win32 hash comparison, where unsigned long is shorter than
    uintptr_t. Follow-up to 9fbf42754899898934bc8bf4f8eeacba37656fdc.

 src/cairo-hash.c          | 2 +-
 src/cairo-types-private.h | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 777d35fa879396c055f4fd741695bc56a1a1576c
Merge: 1c0a9aac0 d2f1827cd
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Mar 8 21:22:25 2022 +0000

    Merge branch 'malloc-hook' into 'master'
    
    Replace deprecated malloc_hook
    
    See merge request cairo/cairo!295

commit d2f1827cdebe2eee6595cf6aeef0ff005ec636d3
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Mar 8 21:17:18 2022 +1030

    Replace deprecated malloc_hook

 util/README         |  2 +-
 util/malloc-stats.c | 92 ++++++++++++++++++++---------------------------------
 util/meson.build    |  4 +--
 3 files changed, 38 insertions(+), 60 deletions(-)

commit 1c0a9aac01435e75be6c30a833e8008654cd5f25
Merge: 135327c11 989d368dc
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Mar 7 07:40:19 2022 +0000

    Merge branch 'dwrite-docs' into 'master'
    
    DWrite font docs
    
    See merge request cairo/cairo!294

commit 989d368dc5a4de8b4c205a715bc09c04ca33ac81
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Mar 5 16:31:50 2022 +1030

    DWrite font docs

 doc/public/cairo-docs.xml            |   1 +
 doc/public/cairo-sections.txt        |   6 ++
 src/cairo-win32.h                    |   1 +
 src/meson.build                      |   1 +
 src/win32/cairo-dwrite-font-public.c | 118 +++++++++++++++++++++++++++++++++++
 src/win32/cairo-dwrite-font.cpp      |   3 +-
 src/win32/cairo-win32-font.c         |   6 +-
 src/win32/cairo-win32-private.h      |   3 +
 util/cairo-trace/trace.c             |   1 +
 9 files changed, 137 insertions(+), 3 deletions(-)

commit 135327c112fafa6300c140f46c7ce1a346e49515
Merge: 1fee5ac98 fa3a1bca7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Mar 5 03:54:58 2022 +0000

    Merge branch 'win32-color-fonts' into 'master'
    
    Windows color fonts
    
    See merge request cairo/cairo!244

commit 1fee5ac98590c9121890e44960a65928293ecaaf
Merge: 1195977d1 baf8a8cfc
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Mar 1 11:03:30 2022 +0000

    Merge branch 'cairo542' into 'master'
    
    Re-enable windows backends in autotool
    
    Closes #542
    
    See merge request cairo/cairo!291

commit baf8a8cfc71fed0aff4607b6c7d9da1195f05ecc
Author: Nathan Lee <2431820-nathanal@users.noreply.gitlab.com>
Date:   Tue Mar 1 20:54:16 2022 +1100

    Re-enable windows backends in autotool
    
    AC_LANG_SOURCE only takes one argument, ignored the others.
    
    Closes #542

 build/configure.ac.system | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1195977d16b81b71cfe15b6765396e31a8f4a829
Merge: 1a799577b 3eef8ea90
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Sun Feb 27 19:12:07 2022 +0000

    Merge branch 'remove-unused-sym' into 'master'
    
    build: Remove unused DirectFB bits on Windows
    
    See merge request cairo/cairo!288

commit fa3a1bca7d4cf04bf5002a3e0e886dffe29ccfab
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 27 20:40:52 2022 +1030

    Remove the extra API from the mozilla DWrite

 src/cairo-win32.h               | 21 ----------------
 src/win32/cairo-win32-private.h |  3 +++
 src/win32/cairo-win32-surface.c | 54 -----------------------------------------
 3 files changed, 3 insertions(+), 75 deletions(-)

commit 5635c75a2c99a901fa1410d4a297c1a1c913c0ee
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 15:38:14 2021 +0930

    dwrite: add color font support

 meson.build                        |  22 +-
 src/cairo-device.c                 |   1 +
 src/cairo-error-private.h          |   1 +
 src/cairo-misc.c                   |   2 +
 src/cairo-region.c                 |   1 +
 src/cairo-spans.c                  |   2 +
 src/cairo-surface.c                |   1 +
 src/cairo.c                        |   4 +-
 src/cairo.h                        |   2 +
 src/win32/cairo-dwrite-font.cpp    | 412 +++++++++++++++++++++++++++++++++----
 src/win32/cairo-dwrite-private.hpp |  40 +++-
 src/win32/d2d1-extra.h             | 111 ++++++++++
 src/win32/dw-extra.h               |  78 +++++++
 13 files changed, 629 insertions(+), 48 deletions(-)

commit fdf2a9b4c0b610ef5dc328c7a095ff8e6e263f05
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 11 18:49:44 2021 +0930

    dwrite_font param is not used

 src/cairo-win32.h                  | 2 +-
 src/win32/cairo-dwrite-font.cpp    | 6 +-----
 src/win32/cairo-dwrite-private.hpp | 1 -
 3 files changed, 2 insertions(+), 7 deletions(-)

commit 7e644409eab3a495970c6d8dafdab33610e86f87
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 11 07:19:54 2021 +0930

    Fix dwrite toy fonts

 src/cairoint.h                  | 14 +++++++++++++-
 src/win32/cairo-dwrite-font.cpp | 21 ++++++++++++---------
 2 files changed, 25 insertions(+), 10 deletions(-)

commit fa76ebec03ebf3252b18e0bb319ca42e00503083
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 11 06:35:49 2021 +0930

    Fix some warnings and use _cairo_malloc where applicable

 src/win32/cairo-dwrite-font.cpp | 40 +++++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

commit 28ce8463af9936982a5dd23ea0c7e6bfe9df2df2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 8 12:09:23 2021 +0930

    Fix check doc errors

 src/cairo-win32.h                  |  8 ++++----
 src/win32/cairo-dwrite-font.cpp    | 15 ++++++++-------
 src/win32/cairo-dwrite-private.hpp |  4 ++--
 src/win32/cairo-win32-private.h    |  2 +-
 src/win32/cairo-win32-refptr.hpp   |  4 ++--
 5 files changed, 17 insertions(+), 16 deletions(-)

commit ed36d85bf6b2723631de4366dbdfbd05f84bd8c8
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 8 11:19:28 2021 +0930

    Fix msvc c++ compile error

 src/cairo-atomic-private.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 90ca6354722879ab6af980aeb3aed2bab0b2a7af
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 8 10:44:19 2021 +0930

    Import win32 dwrite font backend from
    
    https://hg.mozilla.org/mozilla-central/file/7338d7d940913147f8a1b1e8bd2b25ab255f4373/gfx/cairo/cairo/src
    
    and add to the meson build. I've omitted the
    cairo_surface_set_subpixel_antialiasing() API and its use in quartz
    and dwrite. Not sure if that is needed.
    
    It compiles. Not tested.

 meson.build                              |   18 +-
 src/cairo-win32.h                        |   31 +
 src/cairo.h                              |    4 +-
 src/meson.build                          |    3 +
 src/win32/cairo-dwrite-font.cpp          | 1426 ++++++++++++++++++++++++++++++
 src/win32/cairo-dwrite-private.hpp       |  229 +++++
 src/win32/cairo-win32-display-surface.c  |    2 +-
 src/win32/cairo-win32-font.c             |    6 +-
 src/win32/cairo-win32-printing-surface.c |   37 +-
 src/win32/cairo-win32-private.h          |   27 +
 src/win32/cairo-win32-refptr.hpp         |  178 ++++
 src/win32/cairo-win32-surface.c          |   67 +-
 12 files changed, 2020 insertions(+), 8 deletions(-)

commit 1a799577b2c7bcd3757211adcc4e46abb3bdfc97
Merge: b0b294b82 895b249b0
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 27 03:51:50 2022 +0000

    Merge branch 'issue-526' into 'master'
    
    pdf: ensure urls and filename strings are correctly encoded
    
    Closes #526
    
    See merge request cairo/cairo!266

commit 3eef8ea9079c541593a372dd4b37c73b6413f14b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Feb 26 17:17:18 2022 +0000

    build: Remove unused DirectFB bits on Windows
    
    The DirectFB surface removal commit did not remove all the build bits.

 build/Makefile.win32.features   | 1 -
 build/Makefile.win32.features-h | 3 ---
 2 files changed, 4 deletions(-)

commit b0b294b827cf8d40e752231124b4a3bd0fda83df
Merge: 1781e59c5 5e1dd8479
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Feb 26 10:11:56 2022 +0000

    Merge branch 'chrstphrchvz-master-patch-12648' into 'master'
    
    quartz: Fix spelling in comment
    
    See merge request cairo/cairo!286

commit 5e1dd84796b0aed7db44265b8c6db8cc866cec96
Author: Christopher Chavez <chrischavez@gmx.us>
Date:   Sat Feb 26 09:17:28 2022 +0000

    quartz: Fix spelling in comment

 src/cairo-quartz-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1781e59c570f6eb85456e5ee9119dbce017f1a79
Merge: ebba42b19 9cfa51046
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Feb 25 15:44:51 2022 +0000

    Merge branch 'drop-backends' into 'master'
    
    Remove old backends
    
    See merge request cairo/cairo!285

commit ebba42b19161961b524154a2037aa848405b0db3
Merge: 4fc72919e 2e0075e26
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Feb 25 15:30:40 2022 +0000

    Merge branch 'quartz-snapshot' into 'master'
    
    quartz: Improve use of images for better performance.
    
    See merge request cairo/cairo!282

commit 9cfa5104648bb6ebaa264a2b427a8a991faee570
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Feb 25 12:54:11 2022 +0000

    ci: Make Windows jobs manual
    
    The CI runners for Windows are currently timing out on the fd.o
    infrastructure. The issue is being worked on, but we should avoid
    blocking our entire CI pipeline until it's fixed, as it sounds it is
    going to take a while.

 .gitlab-ci.yml | 2 ++
 1 file changed, 2 insertions(+)

commit 9b9028c160a404771fe0caeecda8f4248997a808
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 00:02:45 2021 +0100

    Drop cairo-vg surface
    
    OpenVG is a failed experiment from 10 years ago, and nobody has been
    using the cairo-vg surface in pretty much the same amount of time.

 boilerplate/Makefile.sources        |    1 -
 boilerplate/Makefile.win32.features |   10 -
 boilerplate/cairo-boilerplate-vg.c  |  364 -------
 boilerplate/meson.build             |    1 -
 build/Makefile.win32.features       |    1 -
 build/Makefile.win32.features-h     |    3 -
 build/configure.ac.features         |    1 -
 configure.ac                        |   11 -
 meson.build                         |   17 -
 meson_options.txt                   |    1 -
 src/Makefile.sources                |    3 -
 src/Makefile.win32.features         |   14 -
 src/cairo-vg-surface.c              | 1854 -----------------------------------
 src/cairo-vg.h                      |  103 --
 util/cairo-trace/trace.c            |   79 --
 15 files changed, 2463 deletions(-)

commit fc3437128d7b45ba34007abbbeea2a81b1b126fb
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Apr 17 23:59:28 2021 +0100

    Remove cairo-directfb
    
    Nobody cares about DirectFB any more, not even the people that registered
    and maintained the DirectFB domain.

 README                                   |   2 +-
 boilerplate/Makefile.sources             |   1 -
 boilerplate/Makefile.win32.features      |  10 -
 boilerplate/cairo-boilerplate-directfb.c | 235 -------------
 boilerplate/meson.build                  |   1 -
 build/configure.ac.features              |   1 -
 configure.ac                             |   8 -
 meson.build                              |  14 -
 meson_options.txt                        |   1 -
 src/Makefile.sources                     |   3 -
 src/Makefile.win32.features              |  14 -
 src/cairo-directfb-surface.c             | 545 -------------------------------
 src/cairo-directfb.h                     |  67 ----
 src/meson.build                          |   7 -
 14 files changed, 1 insertion(+), 908 deletions(-)

commit 803afe6edda17b97e3d12a20585e565a2d2a79a2
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Apr 17 23:56:50 2021 +0100

    tanis: Remove cairo-cogl
    
    Cogl's upstream is unmaintained, and has been for the past 6 years.

 .gitlab-ci.yml                       |    1 -
 boilerplate/Makefile.sources         |    1 -
 boilerplate/Makefile.win32.features  |   10 -
 boilerplate/cairo-boilerplate-cogl.c |  217 --
 boilerplate/meson.build              |    1 -
 build/Makefile.win32.features        |    1 -
 build/Makefile.win32.features-h      |    3 -
 build/configure.ac.features          |    1 -
 configure.ac                         |    6 -
 meson.build                          |   16 -
 meson_options.txt                    |    1 -
 src/Makefile.sources                 |    6 -
 src/Makefile.win32.features          |   14 -
 src/cairo-cogl-gradient-private.h    |   90 -
 src/cairo-cogl-gradient.c            |  678 ------
 src/cairo-cogl-private.h             |  164 --
 src/cairo-cogl-surface.c             | 4106 ----------------------------------
 src/cairo-cogl.h                     |   86 -
 src/cairoint.h                       |    5 -
 src/meson.build                      |    5 -
 20 files changed, 5412 deletions(-)

commit 1409079eefc04dcb0cab49e02f3cf3cf5e622974
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Apr 17 23:53:52 2021 +0100

    Remove cairo-drm
    
    The DRM backend has always been a science experiment, but now it hasn't
    been built in more than 10 years, and it's completely broken.

 .gitlab-ci.yml                            |    1 -
 boilerplate/Makefile.sources              |    1 -
 boilerplate/Makefile.win32.features       |   20 -
 boilerplate/cairo-boilerplate-drm.c       |  112 --
 boilerplate/meson.build                   |    1 -
 build/Makefile.win32.features             |    2 -
 build/Makefile.win32.features-h           |    6 -
 build/configure.ac.features               |    1 -
 configure.ac                              |   26 -
 doc/public/Makefile.am                    |    1 -
 doc/public/meson.build                    |    1 -
 meson.build                               |   20 -
 meson_options.txt                         |    1 -
 src/Makefile.sources                      |   32 -
 src/Makefile.win32.features               |   28 -
 src/cairo-debug.c                         |    4 -
 src/cairo-drm.h                           |  120 --
 src/cairo-mutex-list-private.h            |    3 -
 src/cairoint.h                            |    7 -
 src/check-headers.sh                      |    2 +-
 src/drm/cairo-drm-bo.c                    |   99 -
 src/drm/cairo-drm-gallium-surface.c       |  826 --------
 src/drm/cairo-drm-i915-glyphs.c           |  566 ------
 src/drm/cairo-drm-i915-private.h          | 1270 -------------
 src/drm/cairo-drm-i915-shader.c           | 2859 ----------------------------
 src/drm/cairo-drm-i915-spans.c            |  799 --------
 src/drm/cairo-drm-i915-surface.c          | 2942 -----------------------------
 src/drm/cairo-drm-i965-glyphs.c           |  506 -----
 src/drm/cairo-drm-i965-private.h          |  737 --------
 src/drm/cairo-drm-i965-shader.c           | 2825 ---------------------------
 src/drm/cairo-drm-i965-spans.c            |  407 ----
 src/drm/cairo-drm-i965-surface.c          | 1926 -------------------
 src/drm/cairo-drm-intel-brw-defines.h     |  824 --------
 src/drm/cairo-drm-intel-brw-eu-emit.c     | 1089 -----------
 src/drm/cairo-drm-intel-brw-eu-util.c     |  121 --
 src/drm/cairo-drm-intel-brw-eu.c          |  250 ---
 src/drm/cairo-drm-intel-brw-eu.h          | 1044 ----------
 src/drm/cairo-drm-intel-brw-structs.h     | 1329 -------------
 src/drm/cairo-drm-intel-command-private.h |  909 ---------
 src/drm/cairo-drm-intel-debug.c           | 1209 ------------
 src/drm/cairo-drm-intel-ioctl-private.h   |   45 -
 src/drm/cairo-drm-intel-private.h         |  515 -----
 src/drm/cairo-drm-intel-surface.c         |  454 -----
 src/drm/cairo-drm-intel.c                 | 1348 -------------
 src/drm/cairo-drm-private.h               |  238 ---
 src/drm/cairo-drm-radeon-private.h        |  103 -
 src/drm/cairo-drm-radeon-surface.c        |  454 -----
 src/drm/cairo-drm-radeon.c                |  331 ----
 src/drm/cairo-drm-surface.c               |  369 ----
 src/drm/cairo-drm.c                       |  390 ----
 src/meson.build                           |   22 -
 51 files changed, 1 insertion(+), 27194 deletions(-)

commit 64db153c43d67d4ff08350a64cbb169c50bdb85e
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Apr 17 23:48:15 2021 +0100

    Drop OS/2 support
    
    OS/2 support was last built in Cairo 1.12, which was released 10 years
    ago.
    
    Additionally, OS/2 is not supported by Meson.

 README                              |   11 +-
 boilerplate/Makefile.win32.features |   10 -
 build/Makefile.win32.features       |    1 -
 build/Makefile.win32.features-h     |    3 -
 build/configure.ac.features         |    1 -
 configure.ac                        |   13 -
 meson.build                         |    1 -
 perf/cairo-perf.c                   |    9 +-
 src/Makefile.sources                |    4 -
 src/Makefile.win32.features         |   14 -
 src/cairo-mutex-impl-private.h      |   15 -
 src/cairo-os2-private.h             |   67 --
 src/cairo-os2-surface.c             | 1416 -----------------------------------
 src/cairo-os2.h                     |  110 ---
 src/cairo-time.c                    |   28 -
 test/api-special-cases.c            |    3 -
 test/error-setters.c                |    9 -
 17 files changed, 3 insertions(+), 1712 deletions(-)

commit 1fa3b10ccea26ae9259674bbf10ac86a8abcb908
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 10:56:21 2021 +0100

    Remove boilerplate for the Skia surface
    
    The Skia surface is not there any more.

 boilerplate/Makefile.sources         |  1 -
 boilerplate/cairo-boilerplate-skia.c | 55 ------------------------------------
 build/configure.ac.features          |  1 -
 doc/public/cairo-sections.txt        | 12 --------
 4 files changed, 69 deletions(-)

commit 81ecff3800e6d71dadbe42d2f29976d9208784a1
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Apr 17 23:44:33 2021 +0100

    Remove BeOS support
    
    Nobody cares about BeOS in 2022, and it cannot be built with Meson anyway.
    
    Removing the BeOS backend also allows us to drop the dependency on a C++
    compiler and simplify the Autotools build considerably by removing all
    the extra CXX targets.

 README                                 |   7 +-
 boilerplate/Makefile.am                |  26 +-
 boilerplate/Makefile.sources           |   1 -
 boilerplate/Makefile.win32.features    |  98 ----
 boilerplate/cairo-boilerplate-beos.cpp | 273 ---------
 build/Makefile.win32.features          |   1 -
 build/Makefile.win32.features-h        |   3 -
 build/configure.ac.features            |   7 -
 build/configure.ac.tools               |   1 -
 configure.ac                           |  24 -
 doc/public/cairo-docs.xml              |   1 -
 doc/public/language-bindings.xml       |   1 -
 meson.build                            |   5 +-
 src/Makefile.am                        |  22 +-
 src/Makefile.am.analysis               |   4 +-
 src/Makefile.sources                   |   5 -
 src/Makefile.win32.features            | 102 ----
 src/cairo-beos-surface.cpp             | 984 ---------------------------------
 src/cairo-beos.h                       |  60 --
 src/cairo-mutex-impl-private.h         |  11 -
 20 files changed, 9 insertions(+), 1627 deletions(-)

commit 64ece6d545df015377a1f289829eeea20f5ae019
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Apr 17 23:41:13 2021 +0100

    Remove Qt surface
    
    It's disabled by default, and unsupported as it depends on Qt4, which
    has been EOL since 2015.

 boilerplate/Makefile.sources         |    1 -
 boilerplate/Makefile.win32.features  |   12 -
 boilerplate/cairo-boilerplate-qt.cpp |  114 ---
 boilerplate/meson.build              |    1 -
 build/Makefile.win32.features        |    1 -
 build/Makefile.win32.features-h      |    3 -
 build/configure.ac.features          |    1 -
 configure.ac                         |   13 -
 meson.build                          |   16 -
 meson_options.txt                    |    1 -
 src/Makefile.sources                 |    3 -
 src/Makefile.win32.features          |   16 -
 src/cairo-qt-surface.cpp             | 1741 ----------------------------------
 src/cairo-qt.h                       |   85 --
 src/meson.build                      |    4 -
 15 files changed, 2012 deletions(-)

commit 2e0075e265155ff144ced23ff87c4bed4cdfbc27
Author: John Ralls <jralls@ceridwen.us>
Date:   Thu Feb 24 14:58:57 2022 -0800

    [quartz] Don't use CGContextDrawTiledImage for tiled patterns.
    
    CGContextDrawTiledImage turned up as a significant time-user while
    profiling a benchmark created to evaluate
    https://gitlab.gnome.org/GNOME/gtk/-/issues/3714. Without this commit
    the benchmark is able to perform a mean frame rate of 2.19 frames per
    second with a standard deviation of 0.09; with the commit the mean frame
    rate is 2.37 fps, s.d. 0.30, both over 15 10-second samples. Student's
    t-test reports a 9.8% likelyhood that the two represent the same
    distribution.

 src/cairo-quartz-private.h                     |   1 -
 src/cairo-quartz-surface.c                     | 113 ++++++++++---------------
 test/reference/mask.quartz.argb32.ref.png      | Bin 10599 -> 10578 bytes
 test/reference/trap-clip.quartz.argb32.ref.png | Bin 6108 -> 6089 bytes
 4 files changed, 45 insertions(+), 69 deletions(-)

commit a502280fcd4ca28c1c5d350674edde645cb784c8
Author: John Ralls <jralls@ceridwen.us>
Date:   Sat Feb 19 18:37:16 2022 -0800

    [quartz] extract function _cairo_quartz_setup_pattern_source
    
    To simplify _cairo_quartz_setup_state.

 src/cairo-quartz-surface.c | 283 +++++++++++++++++++++++----------------------
 1 file changed, 146 insertions(+), 137 deletions(-)

commit b6e0f36ee5de521fffcadffcece1ef27bb4dfd5b
Author: John Ralls <jralls@ceridwen.us>
Date:   Sat Feb 19 18:38:29 2022 -0800

    [quartz]Cleanup _cairo_quartz_cairo_repeating_surface_pattern_to_quartz

 src/cairo-quartz-surface.c | 32 +++++++++-----------------------
 1 file changed, 9 insertions(+), 23 deletions(-)

commit ae320c4d75d981220de87d9b44ffe30b2bcab69e
Author: John Ralls <jralls@ceridwen.us>
Date:   Sat Feb 19 18:34:01 2022 -0800

    [quartz] Use CoreGraphics instead of Qt to write debug png file.

 src/cairo-quartz-surface.c | 102 ++++++++++++---------------------------------
 1 file changed, 27 insertions(+), 75 deletions(-)

commit bacbe9bb2da5afec7cb64bc5a89dd898e1826e8a
Author: John Ralls <jralls@ceridwen.us>
Date:   Mon Feb 14 17:23:12 2022 -0800

    [quartz] Create similar surfaces using a CGLayer for faster drawing.

 src/cairo-quartz-private.h |   4 +-
 src/cairo-quartz-surface.c | 137 +++++++++++++++++++++++++++++++++++----------
 2 files changed, 111 insertions(+), 30 deletions(-)

commit 76e6a0ddf7dfee6d1bc826fd46737d75054b1a0f
Author: John Ralls <jralls@ceridwen.us>
Date:   Sun Feb 13 13:50:57 2022 -0800

    [quartz] Remove cached image_surface on quartz surfaces.
    
    Caching doesn't really do anything and removing it provides a 50%
    speedup and gets pdf-operators-text to pass on argb32.

 .gitlab-ci/ignore-quartz-argb32.txt |  1 -
 src/cairo-quartz-private.h          |  3 +-
 src/cairo-quartz-surface.c          | 66 +++++++++++++++++++------------------
 3 files changed, 36 insertions(+), 34 deletions(-)

commit 64786613ee3bf94193e9f515ca42208b5bb3d17d
Author: John Ralls <jralls@ceridwen.us>
Date:   Thu Feb 10 12:54:46 2022 -0800

    [quartz] Snapshot CGBitmapContext-mapped surfaces to cache CGImages.
    
    Motivation: Avoid need to recreate CGImages for unchanged surfaces,
    an expensive operation, while ensuring that the CGImages are properly
    freed and new ones created when the surface does change.
    
    Thanks to Uli Schlacter for suggestion and coding guidance.

 src/cairo-quartz-surface.c | 80 +++++++++++++++++++++++++++++++++++++++++++---
 src/cairo-types-private.h  |  3 +-
 2 files changed, 78 insertions(+), 5 deletions(-)

commit 4fc72919e149a3fd26a863757832d67c661b6727
Merge: 2c24c18b1 c0d2527ad
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Feb 24 14:35:17 2022 +0000

    Merge branch 'mempool-overflow' into 'master'
    
    Fix integer overflows in cairo-mempool
    
    Closes #510
    
    See merge request cairo/cairo!253

commit 2c24c18b14a27a59651f411a55b862b29836f749
Merge: c2005c22e b166db8ad
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Feb 24 14:34:04 2022 +0000

    Merge branch 'test-hairline' into 'master'
    
    test/hairline.c: Use Unix line endings & add copyright header
    
    See merge request cairo/cairo!234

commit c2005c22e22336118a29494ee318d6a9b9b84f88
Merge: 2ec0a8740 04394d5b1
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Feb 23 16:18:51 2022 +0000

    Merge branch 'chrstphrchvz-master-patch-67648' into 'master'
    
    quartz: Fix spelling in comment
    
    See merge request cairo/cairo!284

commit 04394d5b1502d7ea9dc2c69e6f9dff3bb0e5deab
Author: Christopher Chavez <chrischavez@gmx.us>
Date:   Wed Feb 23 13:12:35 2022 +0000

    quartz: Fix spelling in comment

 src/cairo-quartz-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2ec0a874031fdb2f3d7a4eaf1d63740a0e25b268
Merge: cf7508394 f83e0ed4e
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Feb 20 12:09:02 2022 +0000

    Merge branch 'develop3' into 'master'
    
    miscellaneous math fixes
    
    See merge request cairo/cairo!280

commit f83e0ed4e665a1eb317b321964fae4ea934bdf58
Author: Ayman El Didi <ayman@eldidi.org>
Date:   Fri Feb 18 00:18:22 2022 -0700

    removed redundant casts in cairoint.h
    
    In a couple of instances, ints are being casted to int before use.

 src/cairoint.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 915dd7942264c76c78e15989476b80ba70f70f64
Author: Ayman El Didi <ayman@eldidi.org>
Date:   Sat Feb 19 11:59:41 2022 -0700

    fixed some multiplications prone to overflowing their type
    
    In a couple of instances, code is present where two numbers are being
    multiplied in a type like unsigned int, but immediately being casted
    to a wider type like size_t.
    
    This means, although the result can be any size_t value, the
    multiplication can potentially overflow before it's used because
    unsigned int has a smaller range of values.
    
    In another more niche case, I also cast to size_t before multiplying
    a signed integer, since the result is immediately used as an argument
    to memcpy, which would give memory corruption if the value was negative
    anyway.

 src/cairo-array.c   |  8 ++++----
 src/cairo-ft-font.c | 10 +++++-----
 2 files changed, 9 insertions(+), 9 deletions(-)

commit cf75083941546aa53a1cdb71416de6e61a0740b6
Merge: 4d6805965 c932bb7ae
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Feb 19 09:42:15 2022 +0000

    Merge branch 'develop4' into 'master'
    
    added missing documentation to cairo_font_options_status
    
    See merge request cairo/cairo!281

commit c932bb7ae71f18a6b9d813bcc2c2ba4cac3d901c
Author: Ayman El Didi <ayman@eldidi.org>
Date:   Thu Feb 17 15:58:14 2022 -0700

    added missing documentation to cairo_font_options_status
    
    The documentation for cairo_font_options_status says it can return
    either CAIRO_STATUS_SUCCESS or CAIRO_STATUS_NO_MEMORY, but the
    implementation can also return CAIRO_STATUS_NULL_POINTER, which wasn't
    mentioned.

 src/cairo-font-options.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 8f7d039801f4dd0013fa8735aec82af44389ce8a
Author: Ayman El Didi <ayman@eldidi.org>
Date:   Thu Feb 17 23:22:43 2022 -0700

    fixed some comparisons between signed and unsigned integers
    
    In some places, there were int variables being compared to unsigned
    ints when they would never take a negative value, exposing some edge
    cases that didn't need to be there.

 src/cairo-array.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 4d680596561bde4b797c7c44484c9036e81b6258
Merge: bdb4d0586 627aa6567
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Wed Feb 16 17:04:37 2022 +0000

    Merge branch 'meson-xml-option' into 'master'
    
    meson: Add xml option and disable by default
    
    See merge request cairo/cairo!275

commit 627aa6567428cb4c15d482df1cdc8152c65e08d2
Author: David King <amigadave@amigadave.com>
Date:   Tue Feb 15 13:31:48 2022 +0000

    meson: Add xml option and disable by default
    
    Just like autotools does.

 meson.build       | 3 +--
 meson_options.txt | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

commit bdb4d058685f9ad4981b233661f4ee23e18140a5
Merge: c90faeb74 a62eea4ae
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Feb 14 17:19:50 2022 +0000

    Merge branch 'user-font-subpixel-position' into 'master'
    
    [user-font] Implement subpixel-positioning
    
    See merge request cairo/cairo!274

commit a62eea4aeca62318984065eeb0673293515ac0e3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Feb 12 23:28:53 2022 -0600

    [user-font] Implement subpixel-positioning
    
    See:
    
    https://github.com/harfbuzz/harfbuzz/pull/3411#issuecomment-1033118545
    https://github.com/harfbuzz/harfbuzz/pull/3411#issuecomment-1033125311
    https://github.com/harfbuzz/harfbuzz/pull/3411#issuecomment-1037765840
    
    Basically the code in cairo-image-compositor.c:composite_glyphs()
    is flooring glyph positions and putting some phase in the glyph-id.
    This was being lost in the user-font backend. Fetch that and put it
    in the recording-surface's device-transform translation, to be applied.

 src/cairo-user-font.c                         |   3 +
 test/Makefile.sources                         |   1 +
 test/meson.build                              |   1 +
 test/reference/user-font-subpixel.ref.png     | Bin 0 -> 357 bytes
 test/reference/user-font-subpixel.svg.ref.png | Bin 0 -> 351 bytes
 test/reference/user-font-subpixel.xfail.png   | Bin 0 -> 323 bytes
 test/user-font-subpixel.c                     |  92 ++++++++++++++++++++++++++
 7 files changed, 97 insertions(+)

commit c90faeb7492b1b778d18a796afe5c2e4b32a6356
Merge: cd21fa081 65d4325e6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Feb 13 05:08:03 2022 +0000

    Merge branch 'mixed-color-clusters' into 'master'
    
    Fix mixed color clusters
    
    See merge request cairo/cairo!273

commit 65d4325e6f674e7b45b3001d9e4bc0aeecb19e0e
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat Feb 12 21:19:39 2022 -0600

    Fix mixed color clusters
    
    When rendering clusters that have colored and non-colored
    glyphs, we were falling back to using show_text_glyphs,
    rendering all glyphs in the cluster without color.
    Instead, make composite_one_color_glyph smart enough
    to handle non-color glyphs, and only skip clusters
    that are entirely non-color.
    
    Testcase: hb-view AmiriQuranColored.otf -u 627,64e

 src/cairo-surface.c | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

commit cd21fa08144fe22d0b4c28a77f654b4e6fda11ef
Merge: 396d258e4 1bc922d04
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Fri Feb 11 11:59:03 2022 +0000

    Merge branch 'fix-user-font-leaks' into 'master'
    
    user-font: Plug some memory leaks
    
    See merge request cairo/cairo!271

commit 396d258e4104219599c2e196f6a5ce4ea82178fd
Merge: fb3734fac 603cdf939
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Fri Feb 11 11:43:02 2022 +0000

    Merge branch 'fix-rtl-color-glyphs' into 'master'
    
    Fix rtl handling for color glyphs
    
    Closes #533
    
    See merge request cairo/cairo!272

commit 1bc922d0454080475844dcb2bf32eaa0c9b79889
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Fri Feb 11 10:58:39 2022 +0000

    Apply 1 suggestion(s) to 1 file(s)

 src/cairo-user-font.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 603cdf939f164142ef53a0dd49e95057e7df8a6f
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Feb 11 05:44:39 2022 -0500

    Fix rtl handling for color glyphs
    
    When the run contains a mix of color and non-color
    glyphs, composite_color_glyphs returns the non-color
    glyphs unhandled in the same array. In the rtl case,
    the glyphs are processed from the end and the unhandled
    glyphs are accumulated at the end as well, and we
    need to move them to the beginning of the array before
    we return. Add the missing memmove call to do that.
    
    Fixes: #533

 src/cairo-surface.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 139f3f25b132c173f64a6946d518dcc8a35f168e
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu Feb 10 22:19:10 2022 -0500

    Plug another memory leak

 src/cairo-user-font.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 537445c4f07d02e84e6838f6f4c218487c7e113d
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu Feb 10 21:17:58 2022 -0500

    user-font: Plug some memory leaks
    
    We were leaking a cairo_t and a surface here, in
    some code paths.

 src/cairo-user-font.c | 3 +++
 1 file changed, 3 insertions(+)

commit fb3734fac0b41eb370911b04cbfa6604a99e6bf7
Merge: a6b2a39f3 57498b301
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Fri Jan 21 14:14:23 2022 +0000

    Merge branch 'fix-build-when-pdf-is-disabled' into 'master'
    
    meson: Fix build when PDF backend is disabled
    
    See merge request cairo/cairo!269

commit 57498b301c10fa24b4882c1b2d5785eff3f25c1a
Author: Nirbheek Chauhan <nirbheek@centricular.com>
Date:   Fri Jan 21 11:58:09 2022 +0530

    meson: Fix build when PDF backend is disabled
    
    Symbols from cairo-tag-stack.c are used by cairo-tag-attributes.c, so
    this should be in the same list of sources as that. Fixes this build
    error:
    
    ```
    /usr/bin/ld: src/libcairo.so.2.11705.0.p/cairo-tag-attributes.c.o: in function `parse_array':
    /path/to/cairo/_build/../src/cairo-tag-attributes.c:347: undefined reference to `_cairo_tag_error'
    /usr/bin/ld: src/libcairo.so.2.11705.0.p/cairo-tag-attributes.c.o: in function `parse_name':
    /path/to/cairo/cairo/_build/../src/cairo-tag-attributes.c:359: undefined reference to `_cairo_tag_error'
    /usr/bin/ld: src/libcairo.so.2.11705.0.p/cairo-tag-attributes.c.o: in function `parse_attributes':
    /path/to/cairo/cairo/_build/../src/cairo-tag-attributes.c:410: undefined reference to `_cairo_tag_error'
    /usr/bin/ld: /path/to/cairo/cairo/_build/../src/cairo-tag-attributes.c:431: undefined reference to `_cairo_tag_error'
    /usr/bin/ld: /path/to/cairo/cairo/_build/../src/cairo-tag-attributes.c:441: undefined reference to `_cairo_tag_error'
    /usr/bin/ld: src/libcairo.so.2.11705.0.p/cairo-tag-attributes.c.o:/path/to/cairo/cairo/_build/../src/cairo-tag-attributes.c:455: more undefined references to `_cairo_tag_error' follow
    /usr/bin/ld: src/libcairo.so.2.11705.0: hidden symbol `_cairo_tag_error' isn't defined
    ```

 src/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 895b249b0ac6d2c45f47423f6529359991a66c3c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jan 9 17:55:11 2022 +1030

    pdf: ensure filenames are correctly encoded

 src/cairo-pdf-interchange.c | 103 ++++++++++++++++++++++++++++++++++++++++++--
 src/cairo-pdf-surface.c     |  16 +++++--
 src/cairo-pdf.h             |   6 ++-
 test/pdf-tagged-text.c      |   6 +++
 4 files changed, 123 insertions(+), 8 deletions(-)

commit a6b2a39f36aa2ac9a1d8afec16d042694839f48f
Merge: 5c9112b25 ef149976e
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 12 16:52:45 2022 +0000

    Merge branch 'fix-doc-warning' into 'master'
    
    Fix a doc comment
    
    See merge request cairo/cairo!263

commit 5c9112b25ea97566e8c8707420dec8f76c02f6d6
Merge: 46c0b8bb4 e3b4db164
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Jan 9 19:02:22 2022 +0000

    Merge branch 'meson-redundant-version_compare' into 'master'
    
    meson: Remove useless version_compare()
    
    See merge request cairo/cairo!267

commit e3b4db1645775a7c176f1bcf72727b1e946d4dd1
Author: Nirbheek Chauhan <nirbheek@centricular.com>
Date:   Sun Jan 9 17:17:28 2022 +0530

    meson: Remove useless version_compare()
    
    We require meson 0.56 in project() now, all these are redundant.

 meson.build            | 123 +++++++++++++++++++++++--------------------------
 subprojects/.gitignore |   2 +-
 2 files changed, 59 insertions(+), 66 deletions(-)

commit a4d8eb98ba8d05fd0026f9c2f9433bdfedde1d06
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jan 9 15:13:34 2022 +1030

    pdf: ensure url strings are correctly encoded
    
    Fixes #526

 src/cairo-pdf-interchange.c | 15 +++++++++++++--
 src/cairo-pdf-surface.c     | 28 ++++++++++++++++++++--------
 2 files changed, 33 insertions(+), 10 deletions(-)

commit 46c0b8bb4fe53422c93619628212717251821f2e
Merge: a04786b93 ca25e9860
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jan 1 19:37:24 2022 +0000

    Merge branch 'amos/win32-static-build' into 'master'
    
    Set CAIRO_WIN32_STATIC_BUILD when doing a static build on windows
    
    See merge request cairo/cairo!265

commit ca25e9860d569f57e361d7956ae1d819a57493fb
Author: Amos Wenger <amoswenger@gmail.com>
Date:   Wed Dec 8 13:36:05 2021 +0100

    Upgrade to expat-2.2.9-4 wrap
    
    This provides the XML_STATIC definition when cairo is built as a static
    library on Windows, see https://github.com/mesonbuild/wrapdb/pull/237

 subprojects/expat.wrap | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 4d9657ad0df20c4bb56e33a8d4b33b91f7c5a9f7
Author: Amos Wenger <amoswenger@gmail.com>
Date:   Tue Dec 7 12:13:02 2021 +0100

    Set CAIRO_WIN32_STATIC_BUILD when doing a static build on windows

 src/meson.build | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit ef149976e29e5809029d8f98e9506c4af2a8439f
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Nov 2 20:10:10 2021 +0100

    Fix a doc comment
    
    This commit fixes the following warning from our check-def.sh:
    
    PASS: check-def.sh
    Checking documentation for incorrect syntax
    ./cairoint.h (523): ERROR: Get invalid doc id (should be 'cairo_...:')
    ./cairoint.h (534): ERROR: Get bad line: ' */'
    ./cairoint.h (534): ERROR: Get documentation comment not closed with **/
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairoint.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a04786b9330109ce54bf7f65c7068281419cec6a
Merge: b63dc83c8 d3e0d2723
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Oct 7 14:29:57 2021 +0000

    Merge branch 'ci-update-windows-image-2' into 'master'
    
    ci: bump windows image to latest
    
    See merge request cairo/cairo!258

commit d3e0d27234a045b2279dd4db54bdec81f03920f0
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Oct 7 14:37:49 2021 +0100

    ci: update links in ci template from gst-ci to gstreamer monorep

 .gitlab-ci.yml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit e1646a740349eff3c78b474497c688647a7a6b9a
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Oct 7 14:31:41 2021 +0100

    ci: bump windows image to latest
    
    Which should include the subprojects cache again.

 .gitlab-ci.yml | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

commit b63dc83c8b7844778cec2fa4bebea2651e397755
Merge: d87fe096b ccb57d21c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Oct 4 02:35:50 2021 +0000

    Merge branch 'ci-update-windows-image' into 'master'
    
    ci: update windows image and fix pixman build on android
    
    Closes #515
    
    See merge request cairo/cairo!257

commit ccb57d21ce0069631b8a723bddc9ed05c3e5bbf7
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sun Oct 3 13:10:12 2021 +0100

    ci: disable aarch64 neon asm in pixman to fix android build
    
    To work around build failures, see #515

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e3ba30bf7e56c4c9317d6174db20375097b2f2f4
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Oct 1 16:38:43 2021 +0100

    ci: update windows image
    
    Some root certs expired, which causes problems with letsencrypt
    certificates, so update to latest image with updated certificates.
    
    https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
    
    Fixes #515

 .gitlab-ci.yml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit d87fe096b90005ced23c76f3b44c1a3ad03d9b55
Merge: 4f761bd5a 8ea4ae541
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Sep 20 09:01:58 2021 +0000

    Merge branch 'user-font-foreground-color' into 'master'
    
    Support user fonts that use the foreground color
    
    See merge request cairo/cairo!249

commit 8ea4ae5413bd8ae1497e11a473d173cfc2475ae6
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Aug 30 20:41:18 2021 +0930

    Allow user fonts to use the foreground color

 src/cairo-pattern-private.h                     |   1 +
 src/cairo-pattern.c                             |   6 +
 src/cairo-recording-surface-private.h           |   5 +
 src/cairo-recording-surface.c                   | 149 ++++++++++++++++--------
 src/cairo-scaled-font-private.h                 |   5 +-
 src/cairo-surface-wrapper-private.h             |   5 +
 src/cairo-surface-wrapper.c                     |  33 ++++++
 src/cairo-user-font.c                           |  23 +++-
 src/cairo.h                                     |  16 +++
 test/reference/user-font-color.image16.ref.png  | Bin 3496 -> 3527 bytes
 test/reference/user-font-color.pdf.ref.png      | Bin 4156 -> 4234 bytes
 test/reference/user-font-color.quartz.ref.png   | Bin 4061 -> 4163 bytes
 test/reference/user-font-color.ref.png          | Bin 4155 -> 4233 bytes
 test/reference/user-font-color.script.xfail.png | Bin 1964 -> 1969 bytes
 test/reference/user-font-color.svg.ref.png      | Bin 4152 -> 4289 bytes
 test/user-font-color.c                          |   8 +-
 16 files changed, 195 insertions(+), 56 deletions(-)

commit 4f761bd5aae51a2ea9cc45931e993a46dd05c93a
Merge: 994e33215 664751159
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Sep 17 13:48:46 2021 +0000

    Merge branch 'fix-core-diff' into 'master'
    
    Explicitly handle image formats in buffer_diff_core and pdiff_compare
    
    Closes #25
    
    See merge request cairo/cairo!243

commit 994e33215e35e49981dea5b459a9b5b85d4cd1b1
Merge: 4c520fea2 23815978c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Sep 16 21:47:25 2021 +0000

    Merge branch 'color-font-foreground-color' into 'master'
    
    Support color fonts that use the foreground color
    
    See merge request cairo/cairo!246

commit 23815978cc6eb3b681788ab43c4d8f5979a39869
Merge: fea246310 4c520fea2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Sep 17 06:25:07 2021 +0930

    Merge branch 'master' into color-font-foreground-color

commit 4c520fea2124f1d2d200ca86045f1de138809148
Merge: ffa2374b0 0ce4c0fc2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Sep 16 20:47:50 2021 +0000

    Merge branch 'custom-metadata' into 'master'
    
    Add cairo_pdf_surface_set_custom_metadata()
    
    See merge request cairo/cairo!240

commit ffa2374b0521836a1da5e7bf1e0ae0a711a88a8e
Merge: 224b44e9d 6e3c7431f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Sep 16 20:47:08 2021 +0000

    Merge branch 'large-pdf-file' into 'master'
    
    Allow > 2GB PDF files on platforms with 32-bit long
    
    See merge request cairo/cairo!251

commit c0d2527ad03f3d3251f016a6973838095b12a0c2
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Sep 15 18:02:05 2021 +0200

    Fix integer overflows in cairo-mempool
    
    The expression "1 << whatever" has type int, no matter what the type of
    "whatever" is. Thus, "1 << 31" ends up overflowing an "int" and
    undefined behaviour occurs.
    
    The above happened in cairo-mempool.c. I saw the following line:
    
      pool->free_bytes += 1 << (bits + pool->min_bits);
    
    being executed with bits=15 and pool->min_bits=16, i.e. we had 1 << 31.
    This ended up being INT_MIN due to the overflow. This was then promoted
    to size_t and we ended up with a *huge* value being added to free_bytes.
    
    This is obviously not the intended behaviour. Thus, this commit replaces
    the "1" in all left shifts in cairo-mempool.c with "((size_t) 1)".
    
    This fix avoids the integer overflow, but it does not fix issue #510,
    because some allocation keeps the memory pool alive.
    
    Related-to: https://gitlab.freedesktop.org/cairo/cairo/-/issues/510
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-mempool.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit 224b44e9d4a7f083df4217b1b6b3cfbec82f9928
Merge: 918fe0266 08cd1fdeb
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sun Sep 12 15:49:13 2021 +0000

    Merge branch 'fix-no-png-dep' into 'master'
    
    meson: fix build without libpng
    
    See merge request cairo/cairo!252

commit 08cd1fdebec79ced88f5912fc9703a3924c34334
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sun Sep 12 15:55:31 2021 +0100

    meson: fix build without libpng
    
    meson.build:966:2: ERROR: Expected 1 arguments, got 0.

 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 918fe02666f681decb79a0dd8dd782b1f42b13f8
Merge: 42d3f4cc2 2822728f2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Sep 2 20:36:19 2021 +0000

    Merge branch 'ming-warnings' into 'master'
    
    Fix some MinGW warnings
    
    See merge request cairo/cairo!247

commit 2822728f2af36d7599962d8e57d293cd1a5a2f69
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 28 14:08:25 2021 +0930

    Fix some MinGW warnings
    
    The FT change is because my MinGW build is using a more recent version
    of FT.
    
    Remove the disabled _cairo_win32_scaled_font_text_to_glyphs() code to
    fix the defined but not used warning.
    
    _cairo_win32_scaled_font_text_to_glyphs() was diabled in d9408041aa with
    the comment:
    
      "Currently disable the win32-font text_to_glyphs(), until that one
       is updated.  Or better yet, remove it and implement
       ucs4_to_index().  It's the toy font API afterall."
    
    _cairo_win32_scaled_font_ucs4_to_index() was added in d1c619bc7d.

 boilerplate/cairo-boilerplate.h          |   7 +-
 src/cairo-compiler-private.h             |   7 +-
 src/cairo-ft-font.c                      |  15 ++-
 src/cairo-scaled-font.c                  |   2 +-
 src/win32/cairo-win32-display-surface.c  |  36 +++--
 src/win32/cairo-win32-font.c             | 222 +------------------------------
 src/win32/cairo-win32-printing-surface.c |   7 +
 test/cairo-test.c                        |   4 +
 test/pdf-tagged-text.c                   |   2 +
 util/cairo-script/csi-replay.c           |   2 +
 util/cairo-trace/trace.c                 |   7 +-
 11 files changed, 72 insertions(+), 239 deletions(-)

commit 6e3c7431ff3f9179c355289ac1fa3bab8750c463
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Sep 1 21:33:29 2021 +0930

    Allow > 2GB PDF files on platforms with 32-bit long

 src/cairo-output-stream-private.h |  4 ++--
 src/cairo-output-stream.c         | 24 ++++++++++++++++++--
 src/cairo-pdf-surface-private.h   |  2 +-
 src/cairo-pdf-surface.c           | 48 +++++++++++++++++++--------------------
 4 files changed, 49 insertions(+), 29 deletions(-)

commit 6647511593ce0ab1de3dbd514796e926e232d644
Author: Manuel Stoeckl <code@mstoeckl.com>
Date:   Wed Aug 25 21:08:36 2021 -0400

    test: explicitly handle image formats in buffer_diff_core
    
    In practice, the A and B images may be any mixture of RGB24 and
    ARGB32 formats, so this change accepts all combinations of these
    types, and converts the pixel values to a common (ARGB32) format
    as needed.
    
    Some of the newly added test failures are cases where the image
    output is RGB24, but the matching reference image is ARGB32 with
    noticeable transparency. Some of the newly passing tests are cases
    where the unused 'alpha' channel of an RGB24 image was not equal
    to 0xff, and the previous code had incorrectly used this channel
    in max_diff calculations.

 .gitlab-ci/ignore-image-rgb24.txt           |  42 +++++++++++
 .gitlab-ci/ignore-image16-rgb24.txt         |  21 ++++++
 .gitlab-ci/ignore-pdf-argb32.txt            |  28 -------
 .gitlab-ci/ignore-pdf-rgb24.txt             |  62 +++++++--------
 .gitlab-ci/ignore-quartz-argb32.txt         |   1 +
 .gitlab-ci/ignore-quartz-rgb24.txt          |  33 +++++++-
 .gitlab-ci/ignore-recording-rgb24.txt       |  42 +++++++++++
 .gitlab-ci/ignore-script-argb32.txt         | 104 --------------------------
 .gitlab-ci/ignore-svg11-argb32.txt          |  11 ---
 .gitlab-ci/ignore-svg11-rgb24.txt           |  65 +++++++++++++---
 .gitlab-ci/ignore-xcb-fallback-rgb24.txt    |  45 ++++++++++-
 .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt  |  51 +++++++++++--
 .gitlab-ci/ignore-xcb-rgb24.txt             | 106 +++++++++-----------------
 .gitlab-ci/ignore-xcb-window&-rgb24.txt     | 100 +++++++++----------------
 .gitlab-ci/ignore-xcb-window-rgb24.txt      | 100 +++++++++----------------
 .gitlab-ci/ignore-xlib-fallback-rgb24.txt   | 112 +++++++++++-----------------
 .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt |  53 +++++++++++--
 .gitlab-ci/ignore-xlib-rgb24.txt            |  86 +++++++++------------
 .gitlab-ci/ignore-xlib-window-rgb24.txt     |  83 +++++++++------------
 test/buffer-diff.c                          |  43 +++++++----
 20 files changed, 600 insertions(+), 588 deletions(-)

commit 04906075847dd5f13d9b02503032a2fbb557b32e
Author: Manuel Stoeckl <code@mstoeckl.com>
Date:   Wed Aug 25 21:44:00 2021 -0400

    pdiff: convert RGB24 image values to ARGB32 on read
    
    To avoid reading a potentially garbage alpha channel when users
    of pdiff_compare pass in RGB24 images, if the format is RGB24,
    force the alpha channel to be 0xff.
    
    This commit also updates CI to adjust for the new tests that have
    started/stopped failing. New failures often are cases where
    the reference image has alpha transparency, but the test output
    does not; new passing tests may indicate that the unused alpha
    channel of an RGB24 image was garbage, but now is ignored.

 .gitlab-ci/ignore-image-argb32.txt          |  1 +
 .gitlab-ci/ignore-image-rgb24.txt           | 11 +++++++++
 .gitlab-ci/ignore-quartz-rgb24.txt          |  7 ++++--
 .gitlab-ci/ignore-recording-rgb24.txt       |  8 ++++++
 .gitlab-ci/ignore-xcb-fallback-rgb24.txt    |  6 +++++
 .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt  |  6 +++++
 .gitlab-ci/ignore-xcb-rgb24.txt             |  4 +--
 .gitlab-ci/ignore-xcb-window&-rgb24.txt     |  3 +--
 .gitlab-ci/ignore-xcb-window-rgb24.txt      |  1 +
 .gitlab-ci/ignore-xlib-fallback-rgb24.txt   |  4 +++
 .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt |  4 +++
 .gitlab-ci/ignore-xlib-rgb24.txt            |  3 ---
 .gitlab-ci/ignore-xlib-window-rgb24.txt     |  2 --
 test/pdiff/pdiff.c                          | 38 ++++++++++++++++++-----------
 14 files changed, 72 insertions(+), 26 deletions(-)

commit a8012953ed2821b1d9444b28e1dcc95846004dce
Author: Manuel Stoeckl <code@mstoeckl.com>
Date:   Sun Aug 29 11:54:36 2021 -0400

    ci: sort lists of ignored tests

 .gitlab-ci/ignore-image-argb32.txt          |  10 +--
 .gitlab-ci/ignore-image-rgb24.txt           |  10 +--
 .gitlab-ci/ignore-image16-rgb24.txt         | 126 ++++++++++++++--------------
 .gitlab-ci/ignore-pdf-argb32.txt            |  36 ++++----
 .gitlab-ci/ignore-pdf-rgb24.txt             |  44 +++++-----
 .gitlab-ci/ignore-quartz-argb32.txt         |  32 +++----
 .gitlab-ci/ignore-quartz-rgb24.txt          |  34 ++++----
 .gitlab-ci/ignore-recording-argb32.txt      |  20 ++---
 .gitlab-ci/ignore-recording-rgb24.txt       |  20 ++---
 .gitlab-ci/ignore-script-argb32.txt         |  96 ++++++++++-----------
 .gitlab-ci/ignore-svg11-argb32.txt          |  22 ++---
 .gitlab-ci/ignore-svg11-rgb24.txt           |  24 +++---
 .gitlab-ci/ignore-xcb-argb32.txt            |  38 ++++-----
 .gitlab-ci/ignore-xcb-fallback-rgb24.txt    |  10 +--
 .gitlab-ci/ignore-xcb-render-0-0-argb32.txt |  16 ++--
 .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt  |  20 ++---
 .gitlab-ci/ignore-xcb-rgb24.txt             |  76 ++++++++---------
 .gitlab-ci/ignore-xcb-window&-rgb24.txt     |  68 +++++++--------
 .gitlab-ci/ignore-xcb-window-rgb24.txt      |  68 +++++++--------
 .gitlab-ci/ignore-xlib-argb32.txt           |  60 ++++++-------
 .gitlab-ci/ignore-xlib-fallback-rgb24.txt   |  32 +++----
 .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt |  14 ++--
 .gitlab-ci/ignore-xlib-rgb24.txt            |  94 ++++++++++-----------
 .gitlab-ci/ignore-xlib-window-rgb24.txt     |  84 +++++++++----------
 24 files changed, 527 insertions(+), 527 deletions(-)

commit 42d3f4cc29338dce02faf062ef6f18a1fe32ca99
Merge: 187fd83aa b1135db01
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Aug 28 12:49:37 2021 +0000

    Merge branch 'meson-pthread-tests' into 'master'
    
    meson: enable pthread tests if 'real pthread' is available
    
    Closes #477
    
    See merge request cairo/cairo!176

commit b1135db01415601c2393e4b11dadead7e44fb5fb
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Aug 28 12:57:17 2021 +0100

    test: update quartz ref image to fix macos pthread test failure
    
    The proper pthread check activated some tests that weren't active
    before, which resulted in a test failure apparently caused by
    inexact test rendering.
    
    Update the quartz reference image accordingly.

 test/reference/pthread-show-text.quartz.ref.png | Bin 46034 -> 46852 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

commit e78a90ed983d98a2bc8364a16f33e6319e632058
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Wed May 5 00:15:16 2021 +0100

    meson: enable pthread tests if 'real pthread' is available
    
    Fixes #477

 test/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 187fd83aaa3a342e598f2731ca0e78414c7a2ffa
Merge: 6d169c699 38f018656
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Aug 28 11:52:26 2021 +0000

    Merge branch 'meson-rely-on-subproject-wrap-promotion-for-indirectly-needed-wraps' into 'master'
    
    meson: rely on automatic wrap promotion from subprojects
    
    Closes #445
    
    See merge request cairo/cairo!131

commit fea24631076f74a3202ba0233be85588ae28db36
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Aug 27 23:12:24 2021 +0930

    Support color fonts that use the foreground color
    
    COLR fonts can have a layer with the same color as the current text
    color. This change passes the current color (if solid) through to
    the font backend where it can be used to render color fonts.
    
    scaled_glyph_lookup checks if the foreground color has changed (for
    glyph that require it) and requests a new color surface if required.
    
    This also fixes a bug where scaled_glyph_lookup would always request a
    color surface for glyphs for glyphs in color fonts that do not have
    color.

 configure.ac                             |  2 +-
 meson.build                              |  1 +
 src/cairo-ft-font.c                      | 40 +++++++++++++++++++++++++++++--
 src/cairo-gl-glyphs.c                    |  2 ++
 src/cairo-image-compositor.c             |  5 ++++
 src/cairo-quartz-font.c                  |  3 ++-
 src/cairo-scaled-font-private.h          |  9 ++++++-
 src/cairo-scaled-font-subsets.c          |  2 ++
 src/cairo-scaled-font.c                  | 41 +++++++++++++++++++++++++++++---
 src/cairo-script-surface.c               |  5 ++++
 src/cairo-surface.c                      | 13 +++++++---
 src/cairo-svg-surface.c                  |  2 ++
 src/cairo-type1-fallback.c               |  3 +++
 src/cairo-type3-glyph-surface.c          |  4 ++++
 src/cairo-user-font.c                    |  6 +++--
 src/cairo-xcb-surface-render.c           |  3 +++
 src/cairo-xlib-render-compositor.c       |  2 ++
 src/cairoint.h                           | 20 ++++++++++++++--
 src/drm/cairo-drm-i915-glyphs.c          |  2 ++
 src/drm/cairo-drm-i965-glyphs.c          |  2 ++
 src/drm/cairo-drm-intel.c                |  3 ++-
 src/test-base-compositor-surface.c       |  1 +
 src/win32/cairo-win32-font.c             |  4 +++-
 src/win32/cairo-win32-printing-surface.c |  2 ++
 24 files changed, 160 insertions(+), 17 deletions(-)

commit 6d169c6995c3df70e8db7a8c88ea48ac9e53462d
Merge: 5e76dd7a5 e73f236da
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 28 07:55:49 2021 +0000

    Merge branch 'cairo-fix-glyph-clipping' into 'master'
    
    Remove the approximate glyph bounds check - with updated ref images
    
    See merge request cairo/cairo!245

commit e73f236da6ad8bc98b99f4e152cc9c85c47fcb11
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 19:19:25 2021 +0930

    Update user-font-mask ref images

 test/reference/user-font-mask.quartz.ref.png          | Bin 0 -> 5511 bytes
 test/reference/user-font-mask.recording.ref.png       | Bin 0 -> 5511 bytes
 test/reference/user-font-mask.script.ref.png          | Bin 0 -> 5511 bytes
 test/reference/user-font-mask.xcb-render-0_0.ref.png  | Bin 0 -> 5511 bytes
 test/reference/user-font-mask.xcb.ref.png             | Bin 0 -> 5511 bytes
 test/reference/user-font-mask.xlib-render-0_0.ref.png | Bin 0 -> 5511 bytes
 test/reference/user-font-mask.xlib.ref.png            | Bin 0 -> 5511 bytes
 7 files changed, 0 insertions(+), 0 deletions(-)

commit 4c7a8afb3bf06743ae9502e68e7b964201606536
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jul 30 19:28:26 2021 -0400

    Remove the approximate glyph bounds check
    
    We are trying to get an approximate bounding box for
    the extents of a glyph string and use it for bailing
    early if there's nothing to do, but the code computing
    that approximation makes invalid assumptions: It assumes
    that a glyph never extends further than max-advance-width
    before or after its position. That is not true in general,
    as can be seen in https://gitlab.gnome.org/GNOME/gtk/-/issues/4132
    In the example there, we have a monospace fonts with ligatures
    that have a negative lsb of two or three times the glyph width.
    
    The optimization here could theoretically be fixed by iterating
    over the font once to determine suitable values for how far
    glyphs can extend before or after their position, but this
    patch just removes it.

 src/cairo-composite-rectangles.c | 14 --------------
 1 file changed, 14 deletions(-)

commit 5e76dd7a5c0585515eeef5099f12b273c94d3b0f
Merge: 9bb1cbf72 a8c8363e3
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Aug 27 23:44:08 2021 +0000

    Merge branch 'fix-comparison-warning' into 'master'
    
    Fix comparison is always false in malloc overflow check
    
    See merge request cairo/cairo!236

commit 9bb1cbf7249d12dd69c8aca3825711645da20bcb
Merge: 923715f2e 78d267ee7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Aug 27 23:41:56 2021 +0000

    Merge branch 'fix-warnings' into 'master'
    
    Fix build warnings
    
    See merge request cairo/cairo!239

commit 38f0186560156ac7dd26d55239f95bf87f79fcf3
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 00:31:31 2021 +0000

    meson: rely on automatic wrap promotion from subprojects
    
    Don't ship wrap files for things that are only dependencies
    of dependencies, such as gperf (for fontconfig), or
    libffi + proxy-libintl (for glib).
    
    Instead, let Meson use the wraps that these subprojects ship,
    which Meson will pick up automatically since v56, so there's
    no need for us to ship these wraps any more.
    
    Bump the Meson requirement to 0.56 accordingly.
    
    Fix expat package dep for fedora ci and bump the tag so it gets
    picked up.
    
    See https://mesonbuild.com/Release-notes-for-0-56-0.html#wraps-from-subprojects-are-automatically-promoted
    
    Closes #445

 .gitlab-ci.yml                 | 4 ++--
 Makefile.am                    | 3 ---
 meson.build                    | 2 +-
 subprojects/gperf.wrap         | 5 -----
 subprojects/libffi.wrap        | 4 ----
 subprojects/proxy-libintl.wrap | 4 ----
 6 files changed, 3 insertions(+), 19 deletions(-)

commit a8c8363e35ceb78db05be29f6839145a8c97bdd4
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Aug 26 21:05:55 2021 +0930

    Add overflow to Makefile.sources

 test/Makefile.sources | 1 +
 1 file changed, 1 insertion(+)

commit 068e9b2eb4d2b50e84c8e0debf38e8ee0b955307
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 15 16:13:15 2021 +0930

    Fix malloc overflow check warning
    
    To fix this warning:
    
    ../src/cairo-malloc-private.h:83:32: warning: comparison is always false due to limited range of data type [-Wtype-limits]
       83 |   ((size) != 0 && (size_t) (a) >= SIZE_MAX / (size_t) (size) ? NULL : \
          |                                ^~
    
    Create two new macros to do the overflow checks:
    _cairo_addl_size_t_overflow and _cairo_mul_size_t_overflow. Implement
    them using compiler builtins where available.
    
    Update cairo-malloc-private to use these fuctions and add an overflow
    test to test the functions.

 meson.build                  |   1 +
 src/cairo-compiler-private.h |  54 +++++++++++
 src/cairo-malloc-private.h   |  56 ++++++++---
 test/meson.build             |   1 +
 test/overflow.c              | 214 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 312 insertions(+), 14 deletions(-)

commit 0d809e8051439a4a88a4a97a89e2715d92554a25
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 15 12:54:44 2021 +0930

    Fix file mode of mime_unqiue-id.c

 test/mime-unique-id.c | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

commit 923715f2e9acec31f6af406f39e14c36f9f7365c
Merge: 9f44d4c7c 2fb156bdc
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Aug 23 16:31:57 2021 +0000

    Merge branch 'fix-png-write-endian' into 'master'
    
    Read/write 16-bpc PNG data in native endian
    
    Closes #501
    
    See merge request cairo/cairo!230

commit 9f44d4c7c509e7aa348f627f6b21dad62762810c
Merge: 2dec76ddf ca3e776ab
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 22 06:48:10 2021 +0000

    Merge branch 'ps-image' into 'master'
    
    Fix PS emit image for 16-bit images
    
    See merge request cairo/cairo!242

commit ca3e776abe6744c94fb4dbff4533308a84661097
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 22 15:19:47 2021 +0930

    Fix PS emit image for 16-bit images

 src/cairo-ps-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0ce4c0fc29230a15c12e66571dba2dbfa428285c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 18 19:41:26 2021 +0930

    Add cairo_pdf_surface_set_custom_metadata()

 doc/public/cairo-sections.txt   |   1 +
 src/cairo-pdf-interchange.c     | 100 ++++++++++++++++++++++++++++++++++++++++
 src/cairo-pdf-surface-private.h |  11 +++++
 src/cairo-pdf-surface.c         |  36 +++++++++++++++
 src/cairo-pdf.h                 |   5 ++
 test/pdf-tagged-text.c          |   6 +++
 6 files changed, 159 insertions(+)

commit 78d267ee7af3c7cabdef437cd6a670111fc6062b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Aug 17 06:25:29 2021 +0930

    Fix some warnings

 perf/cairo-perf-graph-widget.c |  2 --
 src/cairo-cff-subset.c         |  6 +++---
 src/cairo-svg-surface.c        | 27 ++++++++++++---------------
 src/cairo-type1-subset.c       |  2 +-
 src/cairo-user-font.c          |  6 +++---
 test/cairo-test-trace.c        |  6 ++++--
 test/operator-www.c            |  4 ++--
 7 files changed, 25 insertions(+), 28 deletions(-)

commit ba3823e6b82c76bfe962f570dbf48e7c6a8126a6
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Aug 16 18:23:17 2021 +0930

    Fix cast between incompatible function types warnings
    
    warning: cast between incompatible function types from ‘cairo_status_t (*)(void *, const cairo_point_t *)’ {aka ‘enum _cairo_status (*)(void *, const struct _cairo_point *)’} to ‘cairo_status_t (*)(void *, const cairo_point_t *, const cairo_slope_t *)’ {aka ‘enum _cairo_status (*)(void *, const struct _cairo_point *, const struct _cairo_slope *)’} [-Wcast-function-type]

 src/cairo-path-fill.c         | 10 +++++++++-
 src/cairo-path-fixed.c        | 12 ++++++++++--
 src/cairo-path-in-fill.c      | 10 +++++++++-
 src/cairo-path-stroke-traps.c | 10 +++++++++-
 src/cairo-path-stroke.c       | 24 ++++++++++++++++++++----
 5 files changed, 57 insertions(+), 9 deletions(-)

commit 2dec76ddfe9499b5a6efc1ccc8e52536a314543b
Merge: e2f83446f 8ee4d5f1d
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Aug 16 20:09:59 2021 +0000

    Merge branch 'warning-level' into 'master'
    
    meson: Use warning_level
    
    See merge request cairo/cairo!237

commit e2f83446f9246bda70cf5481097f058123e2f6e6
Merge: 919178f1e 4c38b3db9
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Sun Aug 15 19:25:58 2021 +0000

    Merge branch 'glib-volatile' into 'master'
    
    gobject: Remove the use of volatile
    
    See merge request cairo/cairo!238

commit 4c38b3db992760ed49ff58a345b039a383432024
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Aug 15 19:29:53 2021 +0100

    gobject: Remove the use of volatile
    
    It is pointless, and it has been deprecated by GLib:
    
      https://gitlab.gnome.org/GNOME/glib/-/issues/600
      http://c.isvolatileusefulwiththreads.com/
    
    Now we're just getting compiler warnings with recent versions of GCC.

 util/cairo-gobject/cairo-gobject-enums.c   | 176 ++++++++++++++---------------
 util/cairo-gobject/cairo-gobject-structs.c |   8 +-
 2 files changed, 92 insertions(+), 92 deletions(-)

commit 8ee4d5f1d346c4933fed993ca3b132b4952c432d
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Aug 15 19:12:49 2021 +0100

    meson: Enable _FORTIFY_SOURCE for optimized builds
    
    Otherwise we are going to get warnings from the C library.

 meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 8b5e285e26ca126a5ae40211bda074fe460a0614
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Aug 15 19:06:10 2021 +0100

    meson: Use warning_level
    
    Instead of using `-Wall` and `-Wextra` as compiler flags, set
    `warning_level=2` as the default warning option.

 meson.build | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 919178f1e952957fd5701874479d86df04baaa99
Merge: 3dc9607f8 d9c9e3b69
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Aug 15 13:57:42 2021 +0000

    Merge branch 'ebassi/build-fixes' into 'master'
    
    build: Use subdir-objects
    
    See merge request cairo/cairo!180

commit 3dc9607f8d080d7256c70d3b4452f47f8346d64a
Merge: c77306019 8c3c41ca7
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Aug 15 13:56:42 2021 +0000

    Merge branch 'color-user-font-getter' into 'master'
    
    Add cairo_user_font_face_get_render_color_glyph_func
    
    See merge request cairo/cairo!233

commit b166db8ad94a55b99971d43ac438cd15f40bb29f
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Aug 15 10:11:28 2021 +0200

    test/hairline.c: Add copyright header
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/hairline.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 0e468cf92142d3af6e80133bc91c0b33c9c75358
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Aug 15 10:10:31 2021 +0200

    test/hairline.c: Use Unix line endings
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/hairline.c | 350 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 175 insertions(+), 175 deletions(-)

commit c773060195c5aee7d84208188bed5740a28747a8
Merge: 9f973bc43 ecec0419f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Aug 15 06:58:54 2021 +0000

    Merge branch 'HairlineStroke' into 'master'
    
    Added hairline support to cairo
    
    See merge request cairo/cairo!21

commit ecec0419f8e178d71e449b52acfdfe9ac03aed37
Author: Rick Yorgason <rick@firefang.com>
Date:   Sun Aug 15 06:58:54 2021 +0000

    Added hairline support to cairo

 src/cairo-backend-private.h                        |   2 +
 src/cairo-compositor.c                             |  66 ++++++--
 src/cairo-default-context.c                        |  18 +++
 src/cairo-gstate-private.h                         |   6 +
 src/cairo-gstate.c                                 |  30 +++-
 src/cairo-script-surface.c                         |  22 +++
 src/cairo-stroke-style.c                           |   4 +
 src/cairo-svg-surface.c                            |  24 ++-
 src/cairo-types-private.h                          |   2 +
 src/cairo.c                                        |  61 +++++++
 src/cairo.h                                        |   6 +
 src/cairoint.h                                     |   2 +
 src/win32/cairo-win32-printing-surface.c           |  10 +-
 test/Makefile.sources                              |   1 +
 test/hairline.c                                    | 175 +++++++++++++++++++++
 test/meson.build                                   |   1 +
 .../hairline-anisotropic-incorrect.image16.ref.png | Bin 0 -> 1773 bytes
 .../hairline-anisotropic-incorrect.pdf.ref.png     | Bin 0 -> 1856 bytes
 .../hairline-anisotropic-incorrect.quartz.ref.png  | Bin 0 -> 1987 bytes
 .../hairline-anisotropic-incorrect.ref.png         | Bin 0 -> 1942 bytes
 ...line-anisotropic-incorrect.svg11.argb32.ref.png | Bin 0 -> 2033 bytes
 ...rline-anisotropic-incorrect.svg11.rgb24.ref.png | Bin 0 -> 2007 bytes
 ...rline-anisotropic-incorrect.xcb-window&.ref.png | Bin 0 -> 1864 bytes
 ...irline-anisotropic-incorrect.xcb-window.ref.png | Bin 0 -> 1864 bytes
 .../hairline-anisotropic-incorrect.xcb.ref.png     | Bin 0 -> 1864 bytes
 ...rline-anisotropic-incorrect.xlib-window.ref.png | Bin 0 -> 1863 bytes
 .../hairline-anisotropic-incorrect.xlib.ref.png    | Bin 0 -> 1863 bytes
 .../reference/hairline-anisotropic.image16.ref.png | Bin 0 -> 1814 bytes
 test/reference/hairline-anisotropic.pdf.ref.png    | Bin 0 -> 2056 bytes
 test/reference/hairline-anisotropic.quartz.ref.png | Bin 0 -> 2081 bytes
 test/reference/hairline-anisotropic.ref.png        | Bin 0 -> 2040 bytes
 .../hairline-anisotropic.xcb-window&.ref.png       | Bin 0 -> 1981 bytes
 .../hairline-anisotropic.xcb-window.ref.png        | Bin 0 -> 1981 bytes
 test/reference/hairline-anisotropic.xcb.ref.png    | Bin 0 -> 1981 bytes
 .../hairline-anisotropic.xlib-window.ref.png       | Bin 0 -> 1950 bytes
 test/reference/hairline-anisotropic.xlib.ref.png   | Bin 0 -> 1950 bytes
 test/reference/hairline-big.image16.ref.png        | Bin 0 -> 2047 bytes
 test/reference/hairline-big.pdf.ref.png            | Bin 0 -> 2363 bytes
 test/reference/hairline-big.quartz.ref.png         | Bin 0 -> 2356 bytes
 test/reference/hairline-big.ref.png                | Bin 0 -> 2348 bytes
 test/reference/hairline-big.xcb-window&.ref.png    | Bin 0 -> 2309 bytes
 test/reference/hairline-big.xcb-window.ref.png     | Bin 0 -> 2309 bytes
 test/reference/hairline-big.xcb.ref.png            | Bin 0 -> 2309 bytes
 test/reference/hairline-big.xlib-window.ref.png    | Bin 0 -> 2287 bytes
 test/reference/hairline-big.xlib.ref.png           | Bin 0 -> 2287 bytes
 test/reference/hairline-scaled.image16.ref.png     | Bin 0 -> 1532 bytes
 test/reference/hairline-scaled.pdf.ref.png         | Bin 0 -> 1747 bytes
 test/reference/hairline-scaled.quartz.ref.png      | Bin 0 -> 1683 bytes
 test/reference/hairline-scaled.ref.png             | Bin 0 -> 1720 bytes
 test/reference/hairline-scaled.svg11.ref.png       | Bin 0 -> 1709 bytes
 test/reference/hairline-scaled.xcb-window&.ref.png | Bin 0 -> 1641 bytes
 test/reference/hairline-scaled.xcb-window.ref.png  | Bin 0 -> 1641 bytes
 test/reference/hairline-scaled.xcb.ref.png         | Bin 0 -> 1641 bytes
 test/reference/hairline-scaled.xlib-window.ref.png | Bin 0 -> 1597 bytes
 test/reference/hairline-scaled.xlib.ref.png        | Bin 0 -> 1597 bytes
 test/reference/hairline.image16.ref.png            | Bin 0 -> 884 bytes
 test/reference/hairline.pdf.ref.png                | Bin 0 -> 1014 bytes
 test/reference/hairline.quartz.ref.png             | Bin 0 -> 968 bytes
 test/reference/hairline.ref.png                    | Bin 0 -> 995 bytes
 test/reference/hairline.svg11.ref.png              | Bin 0 -> 988 bytes
 test/reference/hairline.xcb-window&.ref.png        | Bin 0 -> 950 bytes
 test/reference/hairline.xcb-window.ref.png         | Bin 0 -> 950 bytes
 test/reference/hairline.xcb.ref.png                | Bin 0 -> 950 bytes
 test/reference/hairline.xlib-window.ref.png        | Bin 0 -> 943 bytes
 test/reference/hairline.xlib.ref.png               | Bin 0 -> 943 bytes
 util/cairo-script/cairo-script-operators.c         |  22 +++
 66 files changed, 427 insertions(+), 25 deletions(-)

commit 9f973bc4337fcc88ca2afe9ec6aef9cbeeda13aa
Merge: 112349719 61aa6dc0e
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Aug 14 22:41:45 2021 +0000

    Merge branch 'meson-update-wrap-versions' into 'master'
    
    Meson: update wrap versions
    
    Closes #416
    
    See merge request cairo/cairo!133

commit 61aa6dc0e1d8f348924c47db71e6cbbcd92c146f
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 01:54:16 2021 +0000

    ci: make sure existing subproject checkouts are in sync with wraps

 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

commit 34038cc77382f71da2730f80160286d532d3581b
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 01:45:26 2021 +0000

    meson: subprojects: use upstream freetype meson port and use latest release
    
    Closes #416

 subprojects/freetype2.wrap | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit e502f70399ff53e929eeb15469e5d512942f96a2
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 01:39:53 2021 +0000

    meson: subprojects: update zlib wrap to latest revision 1.2.11-5

 subprojects/zlib.wrap | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit b6025e96c6bb59999d060bde2881bbc93937fdf9
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 01:37:32 2021 +0000

    meson: subprojects: update glib wrap to latest stable 2.66.7

 subprojects/glib.wrap | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fb5e816c31202a99c128af7bd4a9659fc547e734
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 01:36:00 2021 +0000

    meson: subprojects: update expat wrap to latest version

 subprojects/expat.wrap | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

commit 112349719b1fdcc846b7bfc979e56ec08c03c9b1
Merge: d0a2031c5 6c3b7a487
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 21:35:07 2021 +0000

    Merge branch 'ebassi/meson-gtk-doc' into 'master'
    
    meson: Build the API reference
    
    See merge request cairo/cairo!168

commit 6c3b7a487b82090b125614ea983e47d4d8c10537
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Apr 27 12:08:52 2021 +0100

    meson: Build the API reference
    
    The Meson build system should build the API reference using gtk-doc,
    like the Autotools build does.
    
    The option is called `gtk_doc`, which matches the existing practices in
    various projects using Meson and gtk-doc.

 doc/public/meson.build    | 157 ++++++++++++++++++++++++++++++++++++++++++++++
 doc/public/version.xml.in |   1 +
 meson.build               |   9 +++
 meson_options.txt         |   4 ++
 4 files changed, 171 insertions(+)

commit d0a2031c5c8b85e0ea5481f8d4edf99deac3ae36
Merge: 48d606114 4e859ddb1
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 12:08:32 2021 +0000

    Merge branch 'fix-color-glyph-compositing' into 'master'
    
    Fix compositing non-color glyphs in one case
    
    See merge request cairo/cairo!224

commit 8c3c41ca737e35740cd2fd7ddf09533f0453dc91
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 18:14:44 2021 +0930

    Add cairo_user_font_face_get_render_color_glyph_func

 doc/public/cairo-sections.txt |  2 ++
 src/cairo-user-font.c         | 28 ++++++++++++++++++++++++++++
 src/cairo.h                   |  9 ++++++---
 3 files changed, 36 insertions(+), 3 deletions(-)

commit 48d606114905dba86d165fd6824f3f0ff73e5120
Merge: 87cf0fc28 ebac15cb0
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 07:24:41 2021 +0000

    Merge branch 'meson-warnings' into 'master'
    
    copy all autotools compiler warnings to meson build
    
    See merge request cairo/cairo!215

commit ebac15cb047bfc82d359a679d4bc53a37028ad6a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 07:24:40 2021 +0000

    copy all autotools compiler warnings to meson build

 meson-cc-tests/check-unused-result.c |  9 ++++++
 meson.build                          | 55 ++++++++++++++++++++++++++++++++++--
 2 files changed, 62 insertions(+), 2 deletions(-)

commit 87cf0fc28585fa4476a7f9097667c5ebc24c383c
Merge: 773236010 1e446cb31
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 07:06:35 2021 +0000

    Merge branch 'issue-404' into 'master'
    
    Fix color fonts when antialias == SUBPIXEL or NONE
    
    Closes #404
    
    See merge request cairo/cairo!229

commit 1e446cb31e19c46118df7c2fdf96359a4f52ad0e
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 07:06:34 2021 +0000

    Fix color fonts when antialias == SUBPIXEL or NONE

 src/cairo-ft-font.c | 147 ++++++++++++++++++++++++++++++----------------------
 src/cairo-surface.c |   1 -
 2 files changed, 86 insertions(+), 62 deletions(-)

commit 773236010f45530855c21ae16a5f69e6d7a2d43c
Merge: 6ea9ec75e e2c002c57
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 06:25:15 2021 +0000

    Merge branch 'endian' into 'master'
    
    meson: add BIGENDIAN
    
    See merge request cairo/cairo!214

commit 6ea9ec75eda7461a51429ae8e40e365bdd2dbd6f
Merge: bb10f0698 62cc53f9b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 06:06:20 2021 +0000

    Merge branch 'issue-389' into 'master'
    
    Add color user-font support
    
    See merge request cairo/cairo!223

commit 62cc53f9b806eedbc361e807fb5f523bf953c52a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 14 06:06:19 2021 +0000

    Add color user-font support
    
    Adds new API cairo_user_font_face_set_render_color_glyph_func()
    to set a color glyph renderer.

 src/cairo-scaled-font-private.h                    |   2 +
 src/cairo-surface.c                                |  10 +-
 src/cairo-user-font.c                              | 214 ++++++++++++++----
 src/cairo.h                                        |  31 ++-
 src/cairoint.h                                     |   1 +
 test/Makefile.sources                              |   1 +
 test/meson.build                                   |   1 +
 test/reference/user-font-color.image16.ref.png     | Bin 0 -> 3496 bytes
 test/reference/user-font-color.pdf.ref.png         | Bin 0 -> 4156 bytes
 test/reference/user-font-color.ps.ref.png          | Bin 0 -> 3924 bytes
 test/reference/user-font-color.quartz.ref.png      | Bin 0 -> 4061 bytes
 test/reference/user-font-color.recording.xfail.png | Bin 0 -> 3040 bytes
 test/reference/user-font-color.ref.png             | Bin 0 -> 4155 bytes
 test/reference/user-font-color.script.xfail.png    | Bin 0 -> 1964 bytes
 test/reference/user-font-color.svg.ref.png         | Bin 0 -> 4152 bytes
 test/reference/user-font-color.svg.rgb24.xfail.png | Bin 0 -> 3040 bytes
 test/user-font-color.c                             | 251 +++++++++++++++++++++
 17 files changed, 459 insertions(+), 52 deletions(-)

commit bb10f069853f1802a5b486182e900ad61bdb2973
Merge: 109113425 76331f654
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 7 07:23:55 2021 +0000

    Merge branch 'mingw-warnings' into 'master'
    
    Fix some mingw warnings and correct the value of R_OK
    
    See merge request cairo/cairo!231

commit 76331f654eef10d3feed2fc335d037416f5b609f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 7 15:44:21 2021 +0930

    Fix some mingw warnings and correct the value of R_OK

 src/cairo-compiler-private.h            | 4 +++-
 src/cairo-ps-surface.c                  | 6 +++++-
 src/win32/cairo-win32-display-surface.c | 8 +++++++-
 3 files changed, 15 insertions(+), 3 deletions(-)

commit 10911342584fce363579ecd67faccd169150b7d7
Merge: ed017e10f ada76e80d
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 7 05:38:04 2021 +0000

    Merge branch 'MMAP-bug' into 'master'
    
    Fixed compile-time error on platforms without MMAP.
    
    See merge request cairo/cairo!225

commit ed017e10f9c21b69ede1346e97f2ff0333d5465e
Merge: 69fdca480 3ee18ffc2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Aug 7 05:37:30 2021 +0000

    Merge branch 'STRNDUP-bug' into 'master'
    
    Added extra check for HAVE_STRNDUP in Win32 Mingw Meson build
    
    See merge request cairo/cairo!226

commit 2fb156bdc0cc28227df80e9d59a58547283b50e1
Author: Manuel Stoeckl <code@mstoeckl.com>
Date:   Fri Aug 6 18:35:01 2021 -0400

    Read/write 16-bpc PNG data in native endian
    
    The png_set_swap function does not affect 8-bpc data.
    
    Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>

 src/cairo-png.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 69fdca480cb661f61bbaf64bcb91ca9ee4e188d7
Merge: 4dd48f097 67c91db45
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 4 11:41:24 2021 +0000

    Merge branch 'win32-printing-fix' into 'master'
    
    Check correctly for surface_pattern being a recording in...
    
    See merge request cairo/cairo!228

commit 67c91db4550f26158776317af27d6a0106fa8f31
Author: Jonathan Kew <jfkthame@gmail.com>
Date:   Wed Aug 4 11:58:49 2021 +0100

    Check correctly for surface_pattern being a snapshot/recording in _cairo_win32_printing_surface_paint_pattern.
    
    (Corrected patch as proposed by Uli Schlachter.)
    
    Fixes poor-quality print output on Windows reported in https://bugzilla.mozilla.org/show_bug.cgi?id=1721127.

 src/win32/cairo-win32-printing-surface.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

commit 4e859ddb19c5aa3a71986ab891d40539320a142f
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sun Aug 1 07:36:06 2021 -0400

    Fix compositing non-color glyphs in one case
    
    The intention here is: "if show_text_glyphs is unsupported,
    try show_gyphs". We need to make sure to set the status to
    unsupported before checking it, otherwise we end up looking
    at the status that was set by composite_color_glyphs if
    show_text_glyphs is NULL.
    
    This showed up in https://github.com/harfbuzz/harfbuzz/issues/2675

 src/cairo-surface.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit ada76e80db4c24afc9b777db1c872ad07804b673
Author: Rick Yorgason <rick@firefang.com>
Date:   Sun Aug 1 17:34:14 2021 -0700

    Fixed compile-time error on platforms without MMAP.

 test/pdf-tagged-text.c | 2 ++
 1 file changed, 2 insertions(+)

commit 3ee18ffc28be480b1c8bfb072f73a991734b3c25
Author: Rick Yorgason <rick@firefang.com>
Date:   Sun Aug 1 17:30:06 2021 -0700

    Added extra check for HAVE_STRNDUP in Win32 Mingw Meson build
    
    Mingw on Windows defines the strndup function, but it's not actually usable because string.h doesn't exist. See details on the Meson bug here: https://github.com/mesonbuild/meson/issues/3672
    
    Note that although Meson marked this bug as "fixed", it's only fixed in the case where you're using `prefix : '#include <string.h>'`.

 meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 4dd48f0979f693dfc515eb3eff266ec6429f8b33
Merge: 6a916648d ab2c5ee21
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Aug 1 11:16:04 2021 +0000

    Merge branch 'fix_infinite_loop' into 'master'
    
    _arc_max_angle_for_tolerance_normalized: fix infinite loop
    
    See merge request cairo/cairo!155

commit ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Aug 1 11:16:03 2021 +0000

    _arc_max_angle_for_tolerance_normalized: fix infinite loop

 src/cairo-arc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 6a916648d5dde42236b8ee55b1a40e78ef732b27
Merge: d88dd1794 7176cc8f0
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Aug 1 11:10:40 2021 +0000

    Merge branch 'fix_clip_leak' into 'master'
    
    Fix clip leak
    
    See merge request cairo/cairo!158

commit 7176cc8f0f8600185a6480d3117892742007e368
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Aug 1 11:10:40 2021 +0000

    Fix clip leak

 src/cairo-composite-rectangles.c | 83 ++++++++++++++++++++++++++++++++--------
 1 file changed, 66 insertions(+), 17 deletions(-)

commit d88dd1794e17c1ef9c63dd8c1adf54c7f7c89811
Merge: 814162d97 7c6f2d4f2
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jul 31 05:58:33 2021 +0000

    Merge branch 'color-font-test' into 'master'
    
    Add ft-color-font test
    
    See merge request cairo/cairo!221

commit 7c6f2d4f24f89ea6a46fb54e838f986c0aeeccdf
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 30 10:36:08 2021 +0930

    Add ft-color-font test

 .gitlab-ci.yml                                |   3 +-
 test/Makefile.sources                         |   1 +
 test/ft-color-font.c                          | 108 ++++++++++++++++++++++++++
 test/meson.build                              |   1 +
 test/reference/ft-color-font.image16.ref.png  | Bin 0 -> 1151 bytes
 test/reference/ft-color-font.ref.png          | Bin 0 -> 1578 bytes
 test/reference/ft-color-font.script.xfail.png | Bin 0 -> 1976 bytes
 7 files changed, 112 insertions(+), 1 deletion(-)

commit e2c002c570c42cb883e41f0dfabfdb0651edbe9b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 11:59:40 2021 +0930

    meson: add endian check
    
    Fixes #464

 meson.build | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 814162d9769fc3b63946f8a1a0ab9ac2ffdcf1e8
Merge: 47e6764de ca1fb44dd
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Jul 29 20:29:10 2021 +0000

    Merge branch 'pdf-links-fixes' into 'master'
    
    pdf links: fix forward references to dest names with 'internal' flag
    
    See merge request cairo/cairo!220

commit ca1fb44dd367eaa1a544a2655425b0313c758ca2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Jul 28 07:18:25 2021 +0930

    pdf links: fix forward references to dest names with 'internal' flag

 src/cairo-pdf-interchange.c     | 119 ++++++++++++++++++++++++----------------
 src/cairo-pdf-surface-private.h |   1 +
 src/cairo-pdf-surface.c         |   6 ++
 test/pdf-tagged-text.c          |  11 ++--
 4 files changed, 84 insertions(+), 53 deletions(-)

commit 47e6764de620f24a7b0c36f53c1fb8a3b5de8a6c
Merge: 4e3f6bf0c 24616585e
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Jul 28 21:28:28 2021 +0000

    Merge branch 'tag-error' into 'master'
    
    Print tag error details when CAIRO_DEBUG_TAG is defined
    
    See merge request cairo/cairo!218

commit 24616585ecb83ead34b4662e8a07957da5299c28
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Jul 26 18:45:31 2021 +0930

    Print tag error details when CAIRO_DEBUG_TAG is defined
    
    Add a _cairo_tag_error(fmt, ...) function that is used liked _cairo_error()
    but allows an error message to be specified. When CAIRO_DEBUG_TAG is defined
    the error is printed.

 src/cairo-pdf-interchange.c   |   6 +-
 src/cairo-tag-attributes.c    | 161 ++++++++++++++++++++++--------------------
 src/cairo-tag-stack-private.h |   3 +
 src/cairo-tag-stack.c         |  22 +++++-
 4 files changed, 110 insertions(+), 82 deletions(-)

commit 4e3f6bf0c2eb4ff5065bb18fb846019d4fef597f
Merge: d60e3f350 fb6f3eb32
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Jul 28 20:27:45 2021 +0000

    Merge branch 'pdf-object-streams' into 'master'
    
    pdf: use cross-reference stream for PDF >= 1.5
    
    See merge request cairo/cairo!197

commit fb6f3eb32efd372e84460720e22970b7fef571fe
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Jul 28 06:18:01 2021 +0930

    pdf-tagged-text: generate both 1.4 and 1.5 PDFs

 test/pdf-tagged-text.c | 43 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 7 deletions(-)

commit d60e3f3501f39b0487179601fa9dc4b703a49c93
Merge: 220222c5f 6fbfc9d92
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 27 20:13:23 2021 +0000

    Merge branch 'issue-426' into 'master'
    
    pdf: use floating point widths when emitting fonts
    
    Closes #426
    
    See merge request cairo/cairo!213

commit 6fbfc9d927fb9f64527f568050aa9e91485290e0
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 27 20:13:23 2021 +0000

    pdf: use floating point widths when emitting fonts

 src/cairo-pdf-surface.c                            |  24 ++--
 test/Makefile.sources                              |   1 +
 test/meson.build                                   |   1 +
 test/pdf-operators-text.c                          | 157 +++++++++++++++++++++
 test/reference/pdf-operators-text.image16.ref.png  | Bin 0 -> 4649 bytes
 test/reference/pdf-operators-text.pdf.ref.png      | Bin 0 -> 4322 bytes
 test/reference/pdf-operators-text.ps.ref.png       | Bin 0 -> 4231 bytes
 test/reference/pdf-operators-text.quartz.xfail.png | Bin 0 -> 8467 bytes
 test/reference/pdf-operators-text.ref.png          | Bin 0 -> 4659 bytes
 test/reference/pdf-operators-text.script.xfail.png | Bin 0 -> 4245 bytes
 test/reference/pdf-operators-text.svg.ref.png      | Bin 0 -> 4637 bytes
 test/reference/pdf-operators-text.xcb.ref.png      | Bin 0 -> 4714 bytes
 test/reference/pdf-operators-text.xlib.ref.png     | Bin 0 -> 4714 bytes
 13 files changed, 171 insertions(+), 12 deletions(-)

commit 220222c5ff5efcabd13c63ec288ff38111a1e7b7
Merge: d6fefd315 62681fe05
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Jul 27 15:53:03 2021 +0000

    Merge branch 'issue-263' into 'master'
    
    Win 64-bit fix pointer to long cast size mismatch
    
    Closes #263
    
    See merge request cairo/cairo!216

commit 6b8d8712fbf62d54e79ec4788e1cea3e5ffa53e9
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Jul 26 18:33:34 2021 +0930

    pdf-tagged-text test: disable object stream compression
    
    to allow the test to find the strings it is looking for.

 test/pdf-tagged-text.c | 3 +++
 1 file changed, 3 insertions(+)

commit 90193cc3a2259356ac068f2491f469e10abed141
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 07:54:30 2021 +0930

    pdf: convert all document interchange features to use object streams

 src/cairo-pdf-interchange.c | 319 +++++++++++++++++++++++++-------------------
 src/cairo-pdf-surface.c     |   3 +-
 2 files changed, 186 insertions(+), 136 deletions(-)

commit bd514f6b08c1b31a75948fd99c147319e5aa649f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 07:16:22 2021 +0930

    pdf: add support for object streams for PDF >= 1.5
    
    This allows all objects that were previously emitted uncompressed to
    be compressed into a an object stream.
    
    Currently only /Page, /Pages, and /Catalog have been converted to use
    object streams.

 src/cairo-array-private.h       |   3 +
 src/cairo-array.c               |   6 +
 src/cairo-pdf-surface-private.h |  15 ++
 src/cairo-pdf-surface.c         | 388 +++++++++++++++++++++++++++++++++-------
 4 files changed, 344 insertions(+), 68 deletions(-)

commit 0f382eb0875f2102ba26e30c6ea1dfbaf1abff96
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 16 19:18:02 2021 +0930

    pdf: use cross-reference stream for PDF >= 1.5
    
    This reduces the output size and is required for object streams.

 src/cairo-pdf-surface-private.h |   2 +-
 src/cairo-pdf-surface.c         | 196 +++++++++++++++++++++++++++++++++++-----
 2 files changed, 174 insertions(+), 24 deletions(-)

commit d6fefd3156ff21fe679e293669e45fb21b75e75c
Merge: 6872490e7 d1a8f2009
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Jul 26 08:38:49 2021 +0000

    Merge branch 'fix-wording' into 'master'
    
    INSTALL.meson: correct the wording
    
    See merge request cairo/cairo!217

commit d1a8f20096fb7ed949bee22af44054d12328a18e
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Jul 26 17:17:30 2021 +0930

    INSTALL.meson: correct the wording

 INSTALL.meson | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 6872490e77fb2d0cc7d7bb7b43f1da8464da6344
Merge: 908b243ab 47c4dc4fc
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 11:33:43 2021 +0000

    Merge branch 'meson-install' into 'master'
    
    Add meson install instructions
    
    See merge request cairo/cairo!206

commit 47c4dc4fcffdc7faa3acaed823629bcc40a49be3
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 11:33:42 2021 +0000

    Add meson install instructions

 INSTALL.meson | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

commit 908b243ab8e31db4ec18e40afc4aae525a8c3a14
Merge: 099d71fb9 4c6b604bd
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 03:21:03 2021 +0000

    Merge branch 'svg-create-for-stream' into 'master'
    
    svg: Fix create-for-stream test case
    
    See merge request cairo/cairo!212

commit 62681fe0523ae96a29e2ff9c080a4c0f4ad40d4c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 06:24:34 2021 +0930

    Change FNV hash to 64-bit
    
    Most builds are 64-bit where the uintptr_t type of the hash value and the font
    face pointer that is being hashed are 64-bit.

 src/cairo-scaled-font.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 8d14a20a0009a8e832cb87fd9cf829bd399aa692
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 06:22:24 2021 +0930

    Fix some win32 compile warnings

 perf/cairo-perf-report.c     | 5 +++++
 src/cairo-compiler-private.h | 1 +
 src/cairo-ft-font.c          | 2 +-
 src/cairo-misc.c             | 3 +++
 src/cairo-svg-surface.c      | 1 +
 5 files changed, 11 insertions(+), 1 deletion(-)

commit 9fbf42754899898934bc8bf4f8eeacba37656fdc
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 25 06:18:37 2021 +0930

    Use uintptr_t for all casts between pointer and integer
    
    On 64-bit windows, long is 32-bit. When compiling there are a large
    number of warnings about mismatched sizes when casting long to/from a
    pointer.
    
    Use the (u)intptr_t type for any integer that will have a pointer stored
    in it. Use a (u)intptr_t cast when integers are stored in pointers to
    silence warnings.
    
    Fixes #263

 src/cairo-cache-private.h                |  2 +-
 src/cairo-cache.c                        |  8 ++++----
 src/cairo-cogl-gradient.c                |  6 +++---
 src/cairo-cogl-surface.c                 |  8 ++++----
 src/cairo-ft-font.c                      |  6 +++---
 src/cairo-gl-gradient.c                  |  6 +++---
 src/cairo-image-compositor.c             |  4 ++--
 src/cairo-mempool.c                      |  6 +++---
 src/cairo-path-fixed-private.h           |  2 +-
 src/cairo-path-fixed.c                   |  4 ++--
 src/cairo-pattern-private.h              | 10 +++++-----
 src/cairo-pattern.c                      | 32 ++++++++++++++++----------------
 src/cairo-scaled-font-subsets.c          |  4 ++--
 src/cairo-scaled-font.c                  | 10 +++++-----
 src/cairo-script-surface.c               | 10 +++++-----
 src/cairo-toy-font-face.c                |  6 +++---
 src/cairo-types-private.h                |  2 +-
 src/cairo-vg-surface.c                   |  6 +++---
 src/cairoint.h                           |  6 +++---
 src/drm/cairo-drm-intel.c                |  2 +-
 src/win32/cairo-win32-font.c             |  2 +-
 util/cairo-script/cairo-script-private.h |  2 +-
 util/cairo-trace/lookup-symbol.c         |  2 +-
 util/cairo-trace/trace.c                 |  2 +-
 24 files changed, 74 insertions(+), 74 deletions(-)

commit 099d71fb9f267153da8b45adc288f9715fbb4611
Merge: 994eccefc f7c7bcb60
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jul 24 12:58:17 2021 +0000

    Merge branch 'issue-336' into 'master'
    
    tags: allow links to page numbers not yet created
    
    Closes #336
    
    See merge request cairo/cairo!211

commit 4c6b604bd512c2619c69c7f2afb9481ab756bf85
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jul 24 14:42:26 2021 +0200

    svg: Fix create-for-stream test case
    
    Commit 2fbd53 added another test to create-for-stream that failed for
    cairo-pdf. Manual testing shows that this test also fails for cairo-svg.
    However, this was not noticed because even before this addition to the
    test, create-for-stream already failed for cairo-svg. Since the
    introduction on CI was done based on "let's ignore all current
    failures", this hid the error.
    
    This commit applies the trivial fix for cairo-svg to make this test
    pass. It is basically the same error that cairo-pdf had.
    
    Additionally, this removes the hack to ignore create-for-stream failures
    in CI since it is now no longer necessary.
    
    Thanks to Knut Peterson for reporting this [0].
    
    [0]:
    https://lists.cairographics.org/archives/cairo/2021-July/029291.html
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml           |  1 -
 src/cairo-svg-surface.c  |  2 +-
 test/cairo-test-runner.c | 12 ------------
 3 files changed, 1 insertion(+), 14 deletions(-)

commit f7c7bcb6030aa36677adcc4887c8f9f8964431d6
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Jul 24 21:26:22 2021 +0930

    tags: allow links to page numbers not yet created
    
    Previously, forward references were required to use named destinations.
    
    This patch is based on the patch in #336 by Guillaume Ayoub <guillaume.ayoub@kozea.fr>
    that converted all links to indirect objects written at the end of the document.
    
    I have reworked the patch so that only forward references to future page numbers are
    written as indirect objects. Backward references and named destinations remain as they
    are. This is to minimize the number of objects written to the PDF file.
    
    Fixes #336

 src/cairo-pdf-interchange.c     | 93 ++++++++++++++++++++++++++++++++++-------
 src/cairo-pdf-surface-private.h |  8 ++++
 src/cairo-pdf-surface.c         |  2 +
 test/pdf-tagged-text.c          | 23 +++++++++-
 4 files changed, 109 insertions(+), 17 deletions(-)

commit 994eccefc0a778d291a8dbbb4143280b38a7ad80
Merge: d12e55672 2d488b359
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Jul 24 08:19:16 2021 +0000

    Merge branch 'recording-playback-nothing-to-do' into 'master'
    
    Don't assert on NOTHING_TO_DO during recording replay.
    
    See merge request cairo/cairo!195

commit d12e55672caec22a6b93468914c82f1a90293db7
Merge: b408352d4 e689e6700
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Jul 24 08:08:44 2021 +0000

    Merge branch 'pdf-stdio-write-errors' into 'master'
    
    pdf: Properly pass on stdio write errors
    
    See merge request cairo/cairo!210

commit e689e670049b26be8c6bff69f3de372bddb8d856
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jul 23 17:32:39 2021 +0200

    Fix build on windows
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/create-for-stream.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 2fbd53a6b33a90a08ef6eda9e5f88e8fb3b97c1e
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jul 23 17:22:16 2021 +0200

    pdf: Properly pass on stdio write errors
    
    cairo-pdf was silently ignoring write errors in
    _cairo_pdf_surface_finish(). Any write errors that happened here ended
    up setting a "status" variable, but the value in this variable was then
    unused.
    
    This commit fixes this bug by passing this error on to the caller.
    
    Additionally, this also adds a test case for this behaviour based on
    writing to /dev/full. This file is non-standard and thus the test first
    checks that this file exists and is writable before trying to write to
    it.
    
    This bug was found based on a report from Knut Petersen [0].
    
    [0]: https://lists.cairographics.org/archives/cairo/2021-July/029281.html
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-pdf-interchange.c     |  4 +---
 src/cairo-pdf-surface-private.h |  2 +-
 src/cairo-pdf-surface.c         |  4 +++-
 test/create-for-stream.c        | 21 ++++++++++++++++++++-
 4 files changed, 25 insertions(+), 6 deletions(-)

commit 2d488b35966af90474eed8fb2f8f1255cb7a1f88
Author: Jonathan Kew <jfkthame@gmail.com>
Date:   Thu Jul 8 15:33:50 2021 +0100

    Don't assert on NOTHING_TO_DO during recording replay.

 src/cairo-recording-surface.c | 4 ++++
 1 file changed, 4 insertions(+)

commit b408352d450bb8c1b1cc17b14e0d605dc40daaed
Merge: 0d3090ad8 bd54a1bf9
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jul 23 12:11:30 2021 +0000

    Merge branch 'issue-381' into 'master'
    
    Always define _cairo_utf8_to_utf16 on Windows
    
    Closes #381
    
    See merge request cairo/cairo!209

commit 0d3090ad8412907d380cca3b76345c15979eb2d9
Merge: bfedda6a1 0f18a873e
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jul 23 12:11:04 2021 +0000

    Merge branch 'issue-411' into 'master'
    
    PS: ensure setup DSC comments are in BeginSetup section
    
    Closes #411
    
    See merge request cairo/cairo!208

commit bfedda6a187a0d6f8e1e98bda9d74b220b0dea59
Merge: 014707b7b c91ae5c5a
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jul 23 12:09:51 2021 +0000

    Merge branch 'issue-264' into 'master'
    
    Patches from #264
    
    Closes #264
    
    See merge request cairo/cairo!207

commit 014707b7bc05b8766268316351c89b330058bf1c
Merge: e5e63a046 6f64682ca
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 23 09:51:24 2021 +0000

    Merge branch 'parse-float-errors' into 'master'
    
    Handle _cairo_strtod() failures in parse_float()
    
    See merge request cairo/cairo!205

commit bd54a1bf9805ebb7905b857d7234271ae496f904
Author: Peter Wang <novalazy@gmail.com>
Date:   Mon Oct 21 12:22:44 2019 +1100

    Always define _cairo_utf8_to_utf16 on Windows
    
    _cairo_utf8_to_utf16 is used by _cairo_fopen on Windows so must be
    defined even if Win32 fonts or other features are disabled.
    
    Fixes #381

 src/cairoint.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0f18a873ef21107a3c5c5bea5ea57d544da74d5a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 23 19:10:55 2021 +0930

    PS: ensure setup DSC comments are in BeginSetup section
    
    Fixes #411

 src/cairo-ps-surface.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit c91ae5c5a06d1b0f558f9a83637ba5df99cd2af5
Author: Bryce Harrington <bryce@osg.samsung.com>
Date:   Mon May 7 17:11:24 2018 -0700

    boilerplate: Use _cairo_malloc instead of malloc
    
    This changes most instances of malloc() calls to use Cairo's safer
    _cairo_malloc().  The malloc() call in the implementation of
    boilerplate's xmalloc() is not changed since it already includes a
    size=0 check.
    
    Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

 boilerplate/cairo-boilerplate-cogl.c           | 5 +++--
 boilerplate/cairo-boilerplate-vg.c             | 3 ++-
 boilerplate/cairo-boilerplate-win32-printing.c | 3 ++-
 boilerplate/cairo-boilerplate-xcb.c            | 3 ++-
 boilerplate/cairo-boilerplate-xlib.c           | 3 ++-
 boilerplate/cairo-boilerplate.c                | 7 ++++---
 6 files changed, 15 insertions(+), 9 deletions(-)

commit ae04679a08f39597907c28c317062b1f22ecf8f8
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 23 18:32:44 2021 +0930

    truetype: check cmap size before allocating memory
    
    Fixes #264

 src/cairo-truetype-subset.c | 4 ++++
 1 file changed, 4 insertions(+)

commit e5e63a04623db06a3b96883ea2f8849457ad35f5
Merge: ab82549f0 caf422b00
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jul 22 14:21:56 2021 +0000

    Merge branch 'issue-399' into 'master'
    
    cff: use correct size cast when decoding bytes to a signed int
    
    Closes #399
    
    See merge request cairo/cairo!204

commit 6f64682ca0b61d9c40c2fb4420b8b69c6891366c
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jul 21 17:16:00 2021 +0200

    Handle _cairo_strtod() failures in parse_float()
    
    When strtod cannot do anything, it returns zero and sets the end pointer
    to the beginning of the string. This commit changes the code in
    parse_float() to treat this case as an error.
    
    Without the fix from commit b7d67433b7c0, this commit turns the error
    from an endless loop into a parse error, which is a lot better error
    behaviour.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-tag-attributes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit caf422b00bf29e3518f8dce2f57edda0f90287bd
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Jul 21 22:21:37 2021 +0930

    cff: use correct size cast when decoding bytes to a signed int
    
    Fixes #399

 src/cairo-cff-subset.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ab82549f0344760988844a670133f1ad789b8a89
Merge: 82f5570ad a8238adc5
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 23:03:37 2021 +0000

    Merge branch 'strtod-fix' into 'master'
    
    Ensure _cairo_strtod accepts a leading sign character
    
    Closes #499
    
    See merge request cairo/cairo!203

commit 82f5570ad549b458973f410f3bf21299c2ccb60c
Merge: 06f405c77 b6c89810f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 22:41:43 2021 +0000

    Merge branch 'issue-413' into 'master'
    
    cff: Check subroutine number is valid before using as an array index
    
    Closes #413
    
    See merge request cairo/cairo!202

commit a8238adc5a1b9a38ce93d37df1a9f488a8303893
Author: Jonathan Kew <jfkthame@gmail.com>
Date:   Tue Jul 20 17:45:21 2021 +0100

    Add link with a negative coordinate to testcase.

 test/pdf-tagged-text.c | 4 ++++
 1 file changed, 4 insertions(+)

commit b7d67433b7c03e8953c792e1f82e5b74ffe935af
Author: Jonathan Kew <jfkthame@gmail.com>
Date:   Tue Jul 20 17:46:01 2021 +0100

    Accept a leading sign character in _cairo_strtod.

 src/cairo-misc.c | 2 ++
 1 file changed, 2 insertions(+)

commit b6c89810f20599dcd9fce2505a9c2f22a95761a7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 21:44:24 2021 +0930

    cff: Check subroutine number is valid before using as an array index
    
    Fixes #413

 src/cairo-cff-subset.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 06f405c775f46e29a7cc89b03fba9ab71a3f2623
Merge: 08f2fb6b2 fc1d6caa8
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 12:00:05 2021 +0000

    Merge branch 'cff-subset-leak' into 'master'
    
    Fix memory leak in cairo_cff_font_read_cid_fontdict
    
    See merge request cairo/cairo!192

commit 08f2fb6b2562101c420273c567c21aab31767980
Merge: 7c803ceb1 a623906bf
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 11:35:02 2021 +0000

    Merge branch 'type1-subset-fixes' into 'master'
    
    Fix some type1-subset array indexing bugs
    
    Closes #13 and #452
    
    See merge request cairo/cairo!201

commit 7c803ceb19cad0759c42d63f1b60103ae9432102
Merge: 99d533791 84192695f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 11:14:09 2021 +0000

    Merge branch 'recording-surface-tags' into 'master'
    
    Add an extra PDF link test to pdf-tagged-text testcase
    
    See merge request cairo/cairo!194

commit a623906bf9a2d2fc8dc14ebdd76a8441d5accd96
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Jul 20 08:22:55 2021 +0930

    Fix some type1-subset array indexing bugs
    
    Fixes #13
    Fixes #452

 src/cairo-type1-subset.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit 84192695f8758bc35b0ee6b2f675dd201b5bd99b
Author: Jonathan Kew <jfkthame@gmail.com>
Date:   Mon Jul 19 12:30:17 2021 +0100

    Fix use-after-free in pdf-features testcase.

 test/pdf-features.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 20ef4ec460b9631c4b094f3ac0b6a78752c22c0b
Author: Jonathan Kew <jfkthame@gmail.com>
Date:   Mon Jul 19 12:28:14 2021 +0100

    Add an example of a link within an empty clip to pdf-tagged-text testcase.

 test/pdf-tagged-text.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 99d5337918defcea4ef0e72c4c345cb8ec973f58
Merge: 2ffc20948 cb0bfefba
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 11:40:27 2021 +0000

    Merge branch 'ps-docs' into 'master'
    
    Update DSC documention
    
    Closes #380
    
    See merge request cairo/cairo!200

commit cb0bfefba2a0fad8c138370590415e6a4df3c371
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 09:02:33 2021 +0930

    Update DSC documention
    
    Fixes #380

 src/cairo-ps-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2ffc209485218a9eac6eb20d4351d0fa5df29c48
Merge: ff2a95d6e e73b4c799
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 09:33:05 2021 +0000

    Merge branch 'dont-drop-tags' into 'master'
    
    Remove all gstate from _cairo_surface_tag
    
    See merge request cairo/cairo!196

commit e73b4c799e7bda112a5c9ee386b7e03cf0c0d21c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 16 13:06:02 2021 +0930

    Fix PS test crash
    
    When the tests run ghostscipt on ps2 files it crashes with:
    
      Error: /undefined in .setlanguagelevel
      Operand stack:
         2
      Execution stack:
         %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
      Dictionary stack:
         --dict:732/1123(ro)(G)--   --dict:0/20(G)--   --dict:75/200(L)--
      Current allocation mode is local
      GPL Ghostscript 9.53.3: Unrecoverable error, exit code 1
    
    The problem is the "-c 2 .setlanguagelevel -f" on the gs command line
    to set ghostscript to language level 2. I'm not sure why this no longer works.
    
    .setlanguagelevel is not mentioned any where in the gs custom operators listed in
    https://www.ghostscript.com/doc/current/Language.htm
    
    I assume this operator was meant for ghostscript internal use and
    is no longer exposed in recent versions. Remove it from the test.

 boilerplate/cairo-boilerplate-ps.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 26043a2db122dc149818ab2b1a7cacf33790b36c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Jul 17 05:45:49 2021 +0930

    Fix crash

 src/cairo-recording-surface.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

commit 81d7b2e3a487bdaad4d8400890098cb75f4d845b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 16 09:50:35 2021 +0930

    test: add URL and "rect" attribute to pdf-tagged-text

 test/pdf-tagged-text.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

commit 1c64d2635bf61be01815148d3879428b90105abd
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Jul 16 09:42:56 2021 +0930

    Remove all gstate from _cairo_surface_tag
    
    The gstate is not required and was causing some tag operations to be
    ignored.

 src/cairo-analysis-surface.c          | 14 +-----
 src/cairo-gstate.c                    | 43 +---------------
 src/cairo-paginated-surface.c         | 12 +----
 src/cairo-pdf-surface.c               |  7 +--
 src/cairo-recording-surface-private.h |  4 --
 src/cairo-recording-surface.c         | 92 ++++++-----------------------------
 src/cairo-surface-backend-private.h   |  7 +--
 src/cairo-surface-wrapper-private.h   |  7 +--
 src/cairo-surface-wrapper.c           | 38 +--------------
 src/cairo-surface.c                   | 17 +------
 src/cairoint.h                        |  7 +--
 11 files changed, 29 insertions(+), 219 deletions(-)

commit ff2a95d6e5e12c5930d451401024f8521446c997
Merge: a6f7c20be 30a0ae56d
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 07:31:16 2021 +0000

    Merge branch 'isxdigit' into 'master'
    
    Create cairo version of isxdigit()
    
    Closes #335
    
    See merge request cairo/cairo!199

commit 30a0ae56d8eaf7735d6f4a8a889e9c54bc0debc1
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Jul 18 08:42:16 2021 +0930

    Create cairo version of isxdigit()
    
    Fixes #335

 src/cairo-type1-subset.c | 2 +-
 src/cairoint.h           | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

commit a6f7c20befb1708eca64288691fde3084f5a8b43
Merge: 0eff09a1e b2a152511
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Jul 18 05:34:40 2021 +0000

    Merge branch 'windows-ci-fix' into 'master'
    
    ci: add fallback_source_uri to work around ssl certificate issues on windows runners
    
    See merge request cairo/cairo!198

commit b2a1525113c5e49310cf3021ababc83bd5fa781c
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Jul 17 23:58:44 2021 +0100

    ci: add fallback_source_uri to work around ssl certificate issues on windows runners
    
    Has to be fixed properly, possibly by regenerating the image, but
    for now this might do the job.

 subprojects/zlib.wrap | 1 +
 1 file changed, 1 insertion(+)

commit 0eff09a1e3a7b035d01c739320bc87ae1077b57e
Merge: 716d144cb 13660ff92
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Thu Jul 1 12:01:14 2021 +0000

    Merge branch 'fix-fontconfig-subproject' into 'master'
    
    Fix fontconfig subproject
    
    See merge request cairo/cairo!193

commit 13660ff9252a0e43e15eac0c6e06c3b4d2807469
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu Jul 1 06:55:59 2021 -0400

    Fix fontconfig subproject
    
    fontconfig has changed its default git branch from
    master to main, and deleted the master branch. This
    breaks GTK ci on MacOs, where we use build cairo and
    use its fontconfig subproject.

 subprojects/fontconfig.wrap | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fc1d6caa8c1a161f201ea6dd76eae7ab797713f2
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jun 26 14:03:34 2021 +0200

    Fix memory leak in cairo_cff_font_read_cid_fontdict
    
    The function cairo_cff_font_read_cid_fontdict() has a local variable
    "cairo_array_t index". This array is first filled with data from the
    font with cff_index_read(). Later in this function, each resulting entry
    is given to cff_dict_read(). Nothing else is done with the array.
    
    Thus, nothing can keep a reference to "index" and thus this array has to
    be finalised at the end of the function to avoid a memory leak.
    
    This commit does that by falling through to the call to cff_index_fini()
    that is already there in the error case. This function checks for each
    element if its ->is_copy is true and then frees the data. However,
    cff_index_read() only creates elements with ->is_copy = FALSE, thus this
    does not do anything. At the end, this calls _cairo_array_fini() which
    frees the array's memory.
    
    Fixes the following memory leak according to valgrind:
    
     24 bytes in 1 blocks are definitely lost in loss record 173 of 490
        at 0x48386AF: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
        by 0x483ADE7: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
        by 0x4A5ECC3: _cairo_array_grow_by (cairo-array.c:115)
        by 0x4A5EEEE: _cairo_array_allocate (cairo-array.c:317)
        by 0x4A5EE95: _cairo_array_append_multiple (cairo-array.c:288)
        by 0x4A5EE6B: _cairo_array_append (cairo-array.c:265)
        by 0x4AFB12E: cff_index_read (cairo-cff-subset.c:438)
        by 0x4AFC280: cairo_cff_font_read_cid_fontdict (cairo-cff-subset.c:1022)
        by 0x4AFCD42: cairo_cff_font_read_top_dict (cairo-cff-subset.c:1232)
        by 0x4AFD145: cairo_cff_font_read_font (cairo-cff-subset.c:1351)
        by 0x4AFFDC0: cairo_cff_font_generate (cairo-cff-subset.c:2583)
        by 0x4B00D71: _cairo_cff_subset_init (cairo-cff-subset.c:2975)
    
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30650
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-cff-subset.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 716d144cbdcb1b0512bb81e9e53a36551640d5dc
Merge: dd1f8f00d edac5f66a
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Jun 18 13:09:54 2021 +0000

    Merge branch 'fix-meson-build' into 'master'
    
    Fix the meson build
    
    See merge request cairo/cairo!190

commit edac5f66a0353fc2c602396deae516a6a6c409d7
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 17 17:03:10 2021 +0200

    Fix the meson build
    
    I merged two MRs and broke the build:
    
    - One MR added perf/ to the meson build
    - The second MR changed lots of meson code to just dependency objects
      instead of just "messing" with include directories and library objects
    
    The result was that perf/meson.build now referred to include objects and
    library objects that no longer exist.
    
    Fix this by also using dependency objects in perf/.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 perf/meson.build       | 47 ++++++++++++++++++++++++-----------------------
 perf/micro/meson.build |  7 +++++--
 2 files changed, 29 insertions(+), 25 deletions(-)

commit dd1f8f00dfc69ab683dd3dbc50cb13b96d44e8bc
Merge: 43a48fb6a 987bbdd7b
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 17 14:25:54 2021 +0000

    Merge branch 'extra-test-steps' into 'master'
    
    CI: Split test execution into per-backend jobs
    
    See merge request cairo/cairo!188

commit 43a48fb6a51066665e2ed5736eb8874c8f696693
Merge: 07d601218 339671c78
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 17 14:25:16 2021 +0000

    Merge branch 'more-meson' into 'master'
    
    Add more of the auto-foo build to meson
    
    See merge request cairo/cairo!183

commit 987bbdd7bd7ad890ef5830d48e11e1901c3369b9
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jun 4 16:11:18 2021 +0200

    Always run tests with an X11 server
    
    This allows tests xcb-surface-source and xlib-surface-source to run.
    Somehow I thought this would be more complicated...
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 430168cc8fbeb495ac24db7b20374fa181dcc1db
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jun 4 08:50:10 2021 +0200

    CI: Split test execution into per-backend jobs
    
    This creates one job per cairo backend that is tested on CI. That
    backend is then tested in its own job.
    
    One motivation is that this will hopefully be faster, because tests are
    run in parallel. Another motivation is that this lets us get around the
    one hour time limit per job.
    
    A downside is that the inter-backend tests are not run in CI. For
    example, xlib-surface-source requires a working X11 server. I am not
    providing that X11 server here.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 100 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 80 insertions(+), 20 deletions(-)

commit 07d60121858e91ddba1aa7eda5f6474977b8c940
Merge: 39db60e95 47c70d53e
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 3 23:52:43 2021 +0000

    Merge branch 'expected-failure-line-separated' into 'master'
    
    Move test failure lists into separate files with one test name per line
    
    See merge request cairo/cairo!187

commit 39db60e957c71e2acfd9c32ab17b4a28b4a28218
Merge: 2edcb1ac2 1e3465142
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 3 15:26:07 2021 +0000

    Merge branch 'build-without-zlib' into 'master'
    
    meson: Use more dependency objects & fix build without zlib
    
    Closes #475
    
    See merge request cairo/cairo!184

commit 47c70d53e48a9ce74b6cbb64d0dffe0b96bc7ad6
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 3 17:19:17 2021 +0200

    Switch to line-separated test failure lists
    
    Having comma separated lists of test names that we expect to fail leads
    to really unreadable and useless diffs. Thus, this commit changes these
    lists to be separated by newlines. This change was generated with:
    
      ( cd .gitlab-ci ; for x in * ; do tr ',' '\n' < $x > .$x ; mv .$x $x ; done )
    
    The code in .gitlab-ci.yml is changed to use tr again to transfer these
    lists back so that everything still works.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml                              |  48 ++---
 .gitlab-ci/ignore-image-argb32.txt          |  21 ++-
 .gitlab-ci/ignore-image-rgb24.txt           |  23 ++-
 .gitlab-ci/ignore-image16-rgb24.txt         | 265 +++++++++++++++++++++++++++-
 .gitlab-ci/ignore-pdf-argb32.txt            |  76 +++++++-
 .gitlab-ci/ignore-pdf-rgb24.txt             |  91 +++++++++-
 .gitlab-ci/ignore-quartz-argb32.txt         |  54 +++++-
 .gitlab-ci/ignore-quartz-rgb24.txt          |  55 +++++-
 .gitlab-ci/ignore-recording-argb32.txt      |  36 +++-
 .gitlab-ci/ignore-recording-rgb24.txt       |  37 +++-
 .gitlab-ci/ignore-script-argb32.txt         | 191 +++++++++++++++++++-
 .gitlab-ci/ignore-svg11-argb32.txt          |  64 ++++++-
 .gitlab-ci/ignore-svg11-rgb24.txt           |  70 +++++++-
 .gitlab-ci/ignore-xcb-argb32.txt            |  57 +++++-
 .gitlab-ci/ignore-xcb-fallback-rgb24.txt    |  24 ++-
 .gitlab-ci/ignore-xcb-render-0-0-argb32.txt |  31 +++-
 .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt  |  37 +++-
 .gitlab-ci/ignore-xcb-rgb24.txt             | 133 +++++++++++++-
 .gitlab-ci/ignore-xcb-window&-rgb24.txt     | 116 +++++++++++-
 .gitlab-ci/ignore-xcb-window-rgb24.txt      | 116 +++++++++++-
 .gitlab-ci/ignore-xlib-argb32.txt           | 128 +++++++++++++-
 .gitlab-ci/ignore-xlib-fallback-rgb24.txt   | 109 +++++++++++-
 .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt |  55 +++++-
 .gitlab-ci/ignore-xlib-rgb24.txt            | 186 ++++++++++++++++++-
 .gitlab-ci/ignore-xlib-window-rgb24.txt     | 168 +++++++++++++++++-
 25 files changed, 2143 insertions(+), 48 deletions(-)

commit 9c9883cac0052c4786cd244b9a27c60d9d76245f
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 3 17:13:57 2021 +0200

    Rename a file
    
    Because shell variables cannot contain &, this character was replaced
    with an underscore in the shell variable. However, we can have this
    character just fine in the file name. Thus, this commits renames a file
    to actually include the proper name of the boilerplate target, which is
    xcb-window&.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml                                                          | 2 +-
 .../{ignore-xcb-window--rgb24.txt => ignore-xcb-window&-rgb24.txt}      | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

commit 04697b33af759adab35603dab96fca8de83d650b
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jun 3 17:09:08 2021 +0200

    Move test failure lists into separate files
    
    Before this commit, .gitlab-ci.yml is way too large, because it contains
    the list with all the expected test failure. This commit moves those
    lists to extra files.
    
    The files were generated with a shell one-liner:
    
      grep CAIRO_TEST_IGNORE .gitlab-ci.yml | while read line ; do
      backend=$(echo $line | cut -f 3 -d ' ' | cut -f1 -d= | sed -e
      's/CAIRO_TEST_IGNORE_//;s/_/-/g') ; content=$(echo $line | cut -f2-
      -d=) ; echo $backend ; echo $content >
      .gitlab-ci/ignore-${backend}.txt ; done
    
    The changes to .gitlab-ci.yml were also generated with some shell
    scripting that generates a sed argument:
    
      grep CAIRO_TEST_IGNORE .gitlab-ci.yml | while read line ; do
      backend=$(echo $line | cut -f 3 -d ' ' | cut -f1 -d= ) ; file=$(echo
      $backend | sed -e 's/CAIRO_TEST_IGNORE_//;s/_/-/g') ; printf
      "/$backend/s#=.*#=\$(cat .gitlab-ci/ignore-${file}.txt)#;"; done ;
      echo
    
    The above can then be applied via (but of course adding ' around it and
    I also left out the final ;):
    
      sed -i -e [the output of the above] .gitlab-ci.yml
    
    Just for completeness, [the output of the above] is:
    
      /CAIRO_TEST_IGNORE_pdf_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-pdf-argb32.txt)#;/CAIRO_TEST_IGNORE_pdf_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-pdf-rgb24.txt)#;/CAIRO_TEST_IGNORE_script_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-script-argb32.txt)#;/CAIRO_TEST_IGNORE_image_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-image-argb32.txt)#;/CAIRO_TEST_IGNORE_image_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-image-rgb24.txt)#;/CAIRO_TEST_IGNORE_image16_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-image16-rgb24.txt)#;/CAIRO_TEST_IGNORE_recording_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-recording-argb32.txt)#;/CAIRO_TEST_IGNORE_recording_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-recording-rgb24.txt)#;/CAIRO_TEST_IGNORE_svg11_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-svg11-argb32.txt)#;/CAIRO_TEST_IGNORE_svg11_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-svg11-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-argb32.txt)#;/CAIRO_TEST_IGNORE_xcb_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_window_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-window-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_window__rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-window--rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_render_0_0_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)#;/CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_fallback_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xcb-fallback-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-xlib-argb32.txt)#;/CAIRO_TEST_IGNORE_xlib_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xlib-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_window_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xlib-window-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_fallback_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-xlib-fallback-rgb24.txt)#;/CAIRO_TEST_IGNORE_quartz_argb32/s#=.*#=$(cat
      .gitlab-ci/ignore-quartz-argb32.txt)#;/CAIRO_TEST_IGNORE_quartz_rgb24/s#=.*#=$(cat
      .gitlab-ci/ignore-quartz-rgb24.txt)#;
    
    (All line breaks are only added for readability and are not part of the
    one-liners)
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml                              | 48 ++++++++++++++---------------
 .gitlab-ci/ignore-image-argb32.txt          |  1 +
 .gitlab-ci/ignore-image-rgb24.txt           |  1 +
 .gitlab-ci/ignore-image16-rgb24.txt         |  1 +
 .gitlab-ci/ignore-pdf-argb32.txt            |  1 +
 .gitlab-ci/ignore-pdf-rgb24.txt             |  1 +
 .gitlab-ci/ignore-quartz-argb32.txt         |  1 +
 .gitlab-ci/ignore-quartz-rgb24.txt          |  1 +
 .gitlab-ci/ignore-recording-argb32.txt      |  1 +
 .gitlab-ci/ignore-recording-rgb24.txt       |  1 +
 .gitlab-ci/ignore-script-argb32.txt         |  1 +
 .gitlab-ci/ignore-svg11-argb32.txt          |  1 +
 .gitlab-ci/ignore-svg11-rgb24.txt           |  1 +
 .gitlab-ci/ignore-xcb-argb32.txt            |  1 +
 .gitlab-ci/ignore-xcb-fallback-rgb24.txt    |  1 +
 .gitlab-ci/ignore-xcb-render-0-0-argb32.txt |  1 +
 .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt  |  1 +
 .gitlab-ci/ignore-xcb-rgb24.txt             |  1 +
 .gitlab-ci/ignore-xcb-window--rgb24.txt     |  1 +
 .gitlab-ci/ignore-xcb-window-rgb24.txt      |  1 +
 .gitlab-ci/ignore-xlib-argb32.txt           |  1 +
 .gitlab-ci/ignore-xlib-fallback-rgb24.txt   |  1 +
 .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt |  1 +
 .gitlab-ci/ignore-xlib-rgb24.txt            |  1 +
 .gitlab-ci/ignore-xlib-window-rgb24.txt     |  1 +
 25 files changed, 48 insertions(+), 24 deletions(-)

commit 2edcb1ac2385c670c36d7ae53ae7de1637969ced
Merge: 267d0e1c9 60d7ff988
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jun 2 10:24:33 2021 +0000

    Merge branch 'jfkthame-master-patch-75366' into 'master'
    
    [pdf-interchange] Write trees even if only LINK tags are present
    
    Closes #487
    
    See merge request cairo/cairo!185

commit 267d0e1c988c1780f5131d098d87916ece51eece
Merge: 5ae89cf30 a5b567961
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jun 2 10:23:26 2021 +0000

    Merge branch 'issue_488' into 'master'
    
    Allow empty postscript name when using a CFF font in pdf
    
    Closes #488
    
    See merge request cairo/cairo!186

commit 5ae89cf30ed8bf162a64d9626a105f4ec68265c1
Merge: 63f0d6268 9ab52c913
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun May 30 10:38:09 2021 +0000

    Merge branch 'svg-backend-work' into 'master'
    
    Work on the SVG backend
    
    Closes #361, #431, #78, #4, poppler/poppler#761, poppler/poppler#619, #107, poppler/poppler#268, #73, and #478
    
    See merge request cairo/cairo!152

commit 9ab52c9131767486700e286a7732dab1ed2e48d5
Merge: ec2cf9ac3 63f0d6268
Author: afdw <afdw@yandex.ru>
Date:   Sat May 29 16:21:31 2021 +0000

    Merge branch 'master' into 'svg-backend-work'
    
    # Conflicts:
    #   .gitlab-ci.yml
    #   test/Makefile.sources
    #   test/meson.build

commit ec2cf9ac35c24495c60fff4e2fd8668bcc9ed612
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat May 29 18:13:30 2021 +0200

    Ignore build instead of builddir

 .gitignore | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1e27ca7d453099adcfa9e31966eee42a2a26b604
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat May 29 18:04:45 2021 +0200

    Remove unused _cairo_hash_table_size

 src/cairo-hash-private.h |  3 ---
 src/cairo-hash.c         | 14 --------------
 2 files changed, 17 deletions(-)

commit a5b5679610a211b8b65be92559d94104837f7b70
Author: Calixte Denizet <calixte.denizet@gmail.com>
Date:   Wed May 26 19:21:04 2021 +0200

    Allow empty postscript name when using a CFF font in pdf
      - it aims to fix issue #488.

 src/cairo-cff-subset.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 60d7ff988b458c65d9537d4d489347b1b44f399b
Author: Jonathan Kew <jfkthame@googlemail.com>
Date:   Mon May 24 16:31:47 2021 +0000

    [pdf-interchange] Write trees even if only LINK tags are present
    
    This avoids the PDF ending up with invalid xref entries for objects that were "reserved"
    but then never output.
    
    Fixes https://gitlab.freedesktop.org/cairo/cairo/-/issues/487.

 src/cairo-pdf-interchange.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 1e34651420fa77edb09045ee0ff33432c4e73d70
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat May 22 08:16:47 2021 +0200

    Fix meson build without zlib
    
    Trying to build with meson with -Dzlib=disabled failed with the
    following error message:
    
    cairo/test/meson.build:599:2: ERROR: Unknown variable
    "libcairoscript_dep".
    
    This commit fixes that problem by adding a not-found dependency if
    cairo-script is not built.
    
    Additionally, follow-up problems are fixed:
    
    - any2ppm.c still tried to include cairo-script-interpreter.h, which was
      not found
    - Building cairo-test-trace was attempted, but that also failed because
      of missing script support.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/475
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/any2ppm.c   | 3 +++
 test/meson.build | 2 +-
 util/meson.build | 2 ++
 3 files changed, 6 insertions(+), 1 deletion(-)

commit 1981fb6dfb51f44feb68590f51309520185e0780
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat May 22 07:59:52 2021 +0200

    meson: Use more dependency objects
    
    For example, to depend on cairo-script, inccairoscript was added to
    "include_directories:" and libcairoscript was added to "link_with:".
    This commit instead uses the libcairoscript_dep dependency everywhere.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 boilerplate/meson.build        | 10 +++++++---
 meson.build                    |  3 +--
 src/meson.build                |  3 ++-
 test/meson.build               | 18 +++++++-----------
 test/pdiff/meson.build         | 15 ++++++++++-----
 util/cairo-gobject/meson.build |  9 +++------
 util/cairo-missing/meson.build |  7 +++++--
 util/cairo-script/meson.build  | 24 +++++++++---------------
 util/cairo-sphinx/meson.build  |  6 +++---
 util/meson.build               |  5 ++---
 10 files changed, 49 insertions(+), 51 deletions(-)

commit 63f0d6268469dcd12316ea405a026f4be900dd79
Merge: 936e5ce8e 45cca0c98
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri May 21 15:36:44 2021 +0000

    Merge branch 'meson-defines' into 'master'
    
    meson: Move CAIRO_HAS_INTERPRETER to config.h
    
    See merge request cairo/cairo!174

commit 936e5ce8ee9c5e8d90ec7870398373258816677f
Merge: 91225d4dd 009d75b8d
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri May 21 15:35:59 2021 +0000

    Merge branch 'xcb-free-xid-cache' into 'master'
    
    xcb: Remove free XID cache
    
    Closes #434
    
    See merge request cairo/cairo!175

commit 91225d4dd7522d7eefef1e57dd9a3e81e58bff92
Merge: 9fcc7fb0b 7bf3a780b
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu May 20 15:43:16 2021 +0000

    Merge branch 'SVG-doc-scanner' into 'master'
    
    #483
    
    See merge request cairo/cairo!182

commit 9fcc7fb0bfc345c8a6616684037b425b645aa0a8
Merge: 7c7b4e35b 7aa5e2577
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu May 20 15:41:56 2021 +0000

    Merge branch 'doc-scanner' into 'master'
    
    Issue #482
    
    See merge request cairo/cairo!181

commit 339671c7872335a5ce748a635a314cbe375e303e
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat May 15 10:53:08 2021 +0200

    meson: Add perf/ directory
    
    This adds the code under perf/ to meson. The only testing I did was "it
    builds for me". I do not have gtk+2 installed and so I did not even try
    whether that thing builds. Besides that, I mostly tried to stay close to
    the autofoo build.

 meson.build            |  1 +
 perf/meson.build       | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++
 perf/micro/meson.build | 57 +++++++++++++++++++++++++++++++
 3 files changed, 151 insertions(+)

commit 1c5b4716f727584373178ff5aa46d6f2df400b84
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri May 14 17:08:02 2021 +0200

    meson: Add shell script tests
    
    There are a couple of shell scripts in src/ that run various tests. This
    commit adds them to the meson build.
    
    The one exception is check-def.sh, which I couldn't get to work and thus
    only add it commented out.
    
    check-headers.sh and check-plt.sh required some tweaking to get them to
    work. check-plt.sh will print an error when run since the file
    '.libs/lib*.so' does not exist, but it will still run its check
    correctly.

 src/check-headers.sh |  2 +-
 src/check-plt.sh     | 12 +++++++-----
 src/meson.build      | 27 +++++++++++++++++++++++++++
 3 files changed, 35 insertions(+), 6 deletions(-)

commit 7bf3a780bafbcbf9fb07be3b6ea89232214f07be
Author: Glash Gnome <glash.gnome@gmail.com>
Date:   Thu May 13 23:21:26 2021 +0000

    #483
    Fix Enum_member_description

 src/cairo-svg.h | 1 -
 1 file changed, 1 deletion(-)

commit 7aa5e25772cad36cb7c6dcc7a24cf046bfc6ab18
Author: Glash Gnome <glash.gnome@gmail.com>
Date:   Thu May 13 22:36:06 2021 +0000

    Issue #482
    Documentation stanza

 src/cairo-scaled-font.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d9c9e3b696a99f126e7d718a7eb7074cf38b5164
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue May 11 15:47:13 2021 +0100

    Post-release version bump to 1.17.5
    
    This should have been done after releasing 1.17.4, but it did not
    happen.
    
    The micro version component in Cairo is always odd in Git, and even in
    releases.

 src/cairo-version.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 76c7f5edcf7977fba3f2a9e27b1ccb8d89cb588e
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue May 11 15:34:19 2021 +0100

    build: Use subdir-objects
    
    We are referencing objects in sub-directories, which means we need to
    tell Automake about that.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7c7b4e35bc9ea281720ccb31c8f4d5440ee489e5
Merge: 0a4ba0507 1339e5c27
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat May 8 06:08:48 2021 +0000

    Merge branch 'macos-dejavu' into 'master'
    
    Install DejaVu fonts on macOS
    
    See merge request cairo/cairo!179

commit 1339e5c275c9a3571a1eea789b77fab588ff7d5c
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri May 7 23:23:43 2021 +0200

    Install DejaVu fonts on macOS
    
    This also fixes some test failures.

 .gitlab-ci.yml | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 0a4ba0507c4b7a5de08b2e5dcd1065d141c6661c
Merge: 929262dd5 37443761c
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu May 6 23:17:34 2021 +0000

    Merge branch 'macos-artifacts' into 'master'
    
    Export test images in artifacts on macOS
    
    See merge request cairo/cairo!178

commit 37443761c9549cf56798c65ef7760ee3f8a67622
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri May 7 00:45:09 2021 +0200

    Export test images in artifacts on macOS

 .gitlab-ci.yml | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 929262dd54ffae81721ffe9b2c59faa7b045c663
Merge: 4f61b765c ac23567a0
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed May 5 14:48:20 2021 +0000

    Merge branch 'jfkthame-master-patch-60882' into 'master'
    
    Bail early from _cairo_image_compute_color if image is zero-sized.
    
    See merge request cairo/cairo!177

commit ac23567a0cf5562bd7547030cd849d8d302da919
Author: Jonathan Kew <jfkthame@googlemail.com>
Date:   Wed May 5 13:43:57 2021 +0000

    Bail early from _cairo_image_compute_color if image is zero-sized.
    
    This avoids the risk of encountering undefined behavior when computing the `pixel` pointer (even though it won't actually be used) in the case where the image width or height is zero and the data is NULL. (Observed when called from cairo_pdf_surface code when an extreme scaling transform was present, though I guess there are probably other ways to end up with such an image.)

 src/cairo-image-surface.c | 3 +++
 1 file changed, 3 insertions(+)

commit c2bf6e8ae418debc97b0ca65b7e452fc650d4655
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 23:41:41 2021 +0200

    Fix remaining tests

 .gitlab-ci.yml                                     |  66 +++++++++++----------
 src/cairo-svg-surface.c                            |  41 +++++++------
 test/cairo-test-runner.c                           |  61 ++++---------------
 test/reference/bug-361.image16.rgb24.ref.png       | Bin 0 -> 537 bytes
 test/reference/bug-361.xcb-window&.rgb24.ref.png   | Bin 0 -> 532 bytes
 test/reference/bug-361.xcb-window.rgb24.ref.png    | Bin 0 -> 532 bytes
 test/reference/bug-361.xcb.argb32.ref.png          | Bin 0 -> 552 bytes
 test/reference/bug-361.xcb.rgb24.ref.png           | Bin 0 -> 532 bytes
 test/reference/bug-361.xlib-window.rgb24.ref.png   | Bin 0 -> 545 bytes
 test/reference/bug-361.xlib.argb32.ref.png         | Bin 0 -> 565 bytes
 test/reference/bug-361.xlib.rgb24.ref.png          | Bin 0 -> 545 bytes
 test/reference/bug-431.image16.rgb24.ref.png       | Bin 0 -> 5196 bytes
 test/reference/bug-431.pdf.ref.png                 | Bin 0 -> 11041 bytes
 test/reference/bug-431.pdf.rgb24.ref.png           | Bin 0 -> 10821 bytes
 test/reference/bug-431.xlib-window.rgb24.ref.png   | Bin 0 -> 10833 bytes
 test/reference/bug-431.xlib.rgb24.ref.png          | Bin 0 -> 10833 bytes
 .../fallback-resolution.ppi144x144.pdf.ref.png     | Bin 0 -> 8653 bytes
 .../fallback-resolution.ppi144x144.svg.ref.png     | Bin 0 -> 8653 bytes
 .../fallback-resolution.ppi144x72.pdf.ref.png      | Bin 0 -> 8681 bytes
 .../fallback-resolution.ppi144x72.svg.ref.png      | Bin 0 -> 8681 bytes
 .../fallback-resolution.ppi288x288.pdf.ref.png     | Bin 8681 -> 8654 bytes
 .../fallback-resolution.ppi288x288.svg.ref.png     | Bin 0 -> 8654 bytes
 .../fallback-resolution.ppi288x72.pdf.ref.png      | Bin 0 -> 8757 bytes
 .../fallback-resolution.ppi288x72.svg.ref.png      | Bin 0 -> 8757 bytes
 .../fallback-resolution.ppi576x576.pdf.ref.png     | Bin 8732 -> 8588 bytes
 .../fallback-resolution.ppi576x576.svg.ref.png     | Bin 0 -> 8588 bytes
 .../fallback-resolution.ppi576x72.pdf.ref.png      | Bin 0 -> 8751 bytes
 .../fallback-resolution.ppi576x72.svg.ref.png      | Bin 0 -> 8751 bytes
 .../fallback-resolution.ppi72x144.pdf.ref.png      | Bin 0 -> 8597 bytes
 .../fallback-resolution.ppi72x144.svg.ref.png      | Bin 0 -> 8597 bytes
 .../fallback-resolution.ppi72x288.pdf.ref.png      | Bin 0 -> 8667 bytes
 .../fallback-resolution.ppi72x288.svg.ref.png      | Bin 0 -> 8667 bytes
 .../fallback-resolution.ppi72x576.pdf.ref.png      | Bin 0 -> 8665 bytes
 .../fallback-resolution.ppi72x576.svg.ref.png      | Bin 0 -> 8665 bytes
 .../fallback-resolution.ppi72x72.pdf.ref.png       | Bin 0 -> 8713 bytes
 .../fallback-resolution.ppi72x72.svg.ref.png       | Bin 0 -> 8713 bytes
 test/reference/mime-data.svg.ref.png               | Bin 0 -> 6513 bytes
 test/reference/operator-www.image16.rgb24.ref.png  | Bin 0 -> 36150 bytes
 test/reference/operator-www.pdf.ref.png            | Bin 0 -> 34170 bytes
 .../reference/pixman-downscale-best-24.svg.ref.png | Bin 0 -> 179 bytes
 test/reference/pthread-same-source.svg.ref.png     | Bin 0 -> 956 bytes
 test/reference/pthread-show-text.svg.ref.png       | Bin 0 -> 48816 bytes
 test/reference/pthread-similar.svg.ref.png         | Bin 0 -> 176 bytes
 .../record-transform-paint.image16.rgb24.ref.png   | Bin 0 -> 2230 bytes
 test/reference/record-transform-paint.pdf.ref.png  | Bin 0 -> 2166 bytes
 test/reference/user-font-mask.svg.ref.png          | Bin 0 -> 5527 bytes
 test/shifted-operator.c                            |   2 +
 47 files changed, 68 insertions(+), 102 deletions(-)

commit 9e497a3cb82a429a04dbbce8debeba5e0e37cf29
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 23:38:28 2021 +0200

    Introduce CAIRO_BOILERPLATE_OPEN_NO_DAEMON and CAIRO_BOILERPLATE_DO_NOT_CRASH_ON_ANY2PPM_ERROR

 boilerplate/cairo-boilerplate.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 42128f1742050428dbe9f4570c1d57d64e7975c0
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 22:13:16 2021 +0200

    Fix reference images

 test/reference/alpha-similar.svg.argb32.xfail.png  | Bin 99 -> 0 bytes
 test/reference/alpha-similar.svg.rgb24.xfail.png   | Bin 95 -> 0 bytes
 test/reference/arc-looping-dash.svg.ref.png        | Bin 0 -> 472 bytes
 test/reference/bug-431.svg.rgb24.ref.png           | Bin 0 -> 10818 bytes
 test/reference/bug-51910.svg.ref.png               | Bin 0 -> 1880 bytes
 test/reference/bug-84115.svg.ref.png               | Bin 0 -> 62960 bytes
 test/reference/bug-bo-ricotz.svg.rgb24.ref.png     | Bin 0 -> 2123 bytes
 test/reference/bug-image-compositor.svg.ref.png    | Bin 0 -> 185 bytes
 test/reference/caps-05.svg.ref.png                 | Bin 0 -> 1162 bytes
 test/reference/caps-1.svg.ref.png                  | Bin 0 -> 1331 bytes
 test/reference/caps-2.svg.ref.png                  | Bin 0 -> 1446 bytes
 test/reference/caps-joins-05.svg.ref.png           | Bin 0 -> 1797 bytes
 test/reference/caps-joins-1.svg.ref.png            | Bin 0 -> 1892 bytes
 test/reference/caps-joins-2.svg.ref.png            | Bin 0 -> 1716 bytes
 test/reference/caps-joins-curve.svg.ref.png        | Bin 0 -> 5721 bytes
 test/reference/caps-sub-paths.svg.ref.png          | Bin 0 -> 165 bytes
 test/reference/caps-tails-curve.svg.ref.png        | Bin 0 -> 53213 bytes
 test/reference/caps.svg.ref.png                    | Bin 0 -> 1836 bytes
 test/reference/checkerboard.svg.ref.png            | Bin 0 -> 152 bytes
 test/reference/clear.svg12.argb32.xfail.png        | Bin 170 -> 0 bytes
 test/reference/clear.svg12.rgb24.xfail.png         | Bin 170 -> 0 bytes
 test/reference/clip-complex-bug61592.svg.ref.png   | Bin 0 -> 128 bytes
 test/reference/clip-disjoint-quad.svg.ref.png      | Bin 0 -> 1555 bytes
 test/reference/clip-fill-eo-unbounded.svg.ref.png  | Bin 0 -> 3692 bytes
 .../clip-fill-eo-unbounded.svg12.rgb24.xfail.png   | Bin 3636 -> 0 bytes
 test/reference/clip-fill-nz-unbounded.svg.ref.png  | Bin 0 -> 3692 bytes
 .../clip-fill-nz-unbounded.svg12.rgb24.xfail.png   | Bin 3636 -> 0 bytes
 test/reference/clip-image.svg.ref.png              | Bin 0 -> 2681 bytes
 .../reference/clip-operator.svg12.argb32.xfail.png | Bin 8378 -> 0 bytes
 test/reference/clip-operator.svg12.rgb24.xfail.png | Bin 4566 -> 0 bytes
 test/reference/clip-push-group.svg.ref.png         | Bin 175 -> 181 bytes
 .../clip-rotate-image-surface-paint.svg.ref.png    | Bin 0 -> 369 bytes
 test/reference/clip-stroke-unbounded.svg.ref.png   | Bin 0 -> 3675 bytes
 .../clip-stroke-unbounded.svg12.rgb24.xfail.png    | Bin 3569 -> 0 bytes
 test/reference/clip-text.svg.ref.png               | Bin 946 -> 0 bytes
 .../reference/clip-unbounded.svg12.rgb24.xfail.png | Bin 100 -> 0 bytes
 test/reference/clipped-group.svg.ref.png           | Bin 250 -> 280 bytes
 .../reference/close-path-current-point.svg.ref.png | Bin 0 -> 1959 bytes
 test/reference/close-path.svg.ref.png              | Bin 0 -> 285 bytes
 ...integer-translate-source.svg12.argb32.xfail.png | Bin 16392 -> 0 bytes
 ...-integer-translate-source.svg12.rgb24.xfail.png | Bin 16392 -> 0 bytes
 test/reference/copy-path.svg.ref.png               | Bin 0 -> 618 bytes
 test/reference/dash-caps-joins.svg.ref.png         | Bin 0 -> 4710 bytes
 test/reference/dash-curve.svg.ref.png              | Bin 0 -> 40984 bytes
 test/reference/dash-infinite-loop.svg.ref.png      | Bin 0 -> 665 bytes
 test/reference/dash-scale.svg.ref.png              | Bin 0 -> 7824 bytes
 test/reference/dash-state.svg.ref.png              | Bin 0 -> 7407 bytes
 test/reference/dash-zero-length.svg.ref.png        | Bin 0 -> 219 bytes
 test/reference/degenerate-arcs.svg.ref.png         | Bin 0 -> 120 bytes
 test/reference/degenerate-curve-to.svg.ref.png     | Bin 0 -> 282 bytes
 .../degenerate-linear-gradient.svg.ref.png         | Bin 0 -> 328 bytes
 test/reference/degenerate-path.svg.ref.png         | Bin 0 -> 238 bytes
 test/reference/degenerate-pen.svg.ref.png          | Bin 0 -> 1004 bytes
 .../degenerate-radial-gradient.svg.ref.png         | Bin 0 -> 439 bytes
 test/reference/degenerate-rel-curve-to.svg.ref.png | Bin 0 -> 277 bytes
 .../reference/device-offset-fractional.svg.ref.png | Bin 0 -> 260 bytes
 test/reference/device-offset-scale.svg.xfail.png   | Bin 128 -> 0 bytes
 test/reference/extend-pad-border.svg.ref.png       | Bin 0 -> 505 bytes
 test/reference/extend-pad-border.svg.xfail.png     | Bin 1063 -> 0 bytes
 test/reference/extend-pad-similar.svg.xfail.png    | Bin 270 -> 0 bytes
 test/reference/extend-pad.svg.xfail.png            | Bin 270 -> 0 bytes
 .../extended-blend-alpha.svg12.argb32.xfail.png    | Bin 6658 -> 0 bytes
 .../extended-blend-alpha.svg12.rgb24.xfail.png     | Bin 5014 -> 0 bytes
 .../extended-blend.svg12.argb32.xfail.png          | Bin 2273 -> 0 bytes
 .../reference/extended-blend.svg12.rgb24.xfail.png | Bin 1856 -> 0 bytes
 .../fallback-resolution.ppi288x288.svg.ref.png     | Bin 5771 -> 0 bytes
 .../fallback-resolution.ppi576x576.svg.ref.png     | Bin 4317 -> 0 bytes
 test/reference/fallback.svg.ref.png                | Bin 0 -> 5999 bytes
 test/reference/fallback.svg.rgb24.ref.png          | Bin 0 -> 3273 bytes
 .../fill-and-stroke-alpha-add.svg.ref.png          | Bin 0 -> 562 bytes
 .../fill-and-stroke-alpha-add.svg12.xfail.png      | Bin 631 -> 0 bytes
 test/reference/fill-and-stroke-alpha.svg.ref.png   | Bin 0 -> 520 bytes
 test/reference/fill-and-stroke.svg.ref.png         | Bin 0 -> 339 bytes
 test/reference/fill-empty.svg12.rgb24.xfail.png    | Bin 99 -> 0 bytes
 test/reference/fill-missed-stop.svg.ref.png        | Bin 0 -> 447 bytes
 test/reference/filter-nearest-offset.svg.xfail.png | Bin 4419 -> 0 bytes
 .../filter-nearest-transformed.svg.xfail.png       | Bin 546 -> 0 bytes
 test/reference/finer-grained-fallbacks.svg.ref.png | Bin 0 -> 1134 bytes
 .../finer-grained-fallbacks.svg12.argb32.ref.png   | Bin 190 -> 0 bytes
 .../finer-grained-fallbacks.svg12.rgb24.ref.png    | Bin 191 -> 0 bytes
 test/reference/font-matrix-translation.svg.ref.png | Bin 870 -> 845 bytes
 .../ft-show-glyphs-positioning.svg.ref.png         | Bin 6018 -> 0 bytes
 test/reference/ft-show-glyphs-table.svg.ref.png    | Bin 10005 -> 10040 bytes
 .../ft-text-vertical-layout-type1.svg.ref.png      | Bin 3607 -> 0 bytes
 .../ft-text-vertical-layout-type3.svg.ref.png      | Bin 3626 -> 0 bytes
 test/reference/glyph-cache-pressure.svg.ref.png    | Bin 0 -> 2874 bytes
 test/reference/gradient-alpha.svg.ref.png          | Bin 0 -> 128 bytes
 test/reference/gradient-constant-alpha.svg.ref.png | Bin 0 -> 107 bytes
 .../reference/group-unaligned.svg.argb32.xfail.png | Bin 520 -> 0 bytes
 test/reference/group-unaligned.svg.ref.png         | Bin 0 -> 523 bytes
 test/reference/group-unaligned.svg.rgb24.xfail.png | Bin 425 -> 0 bytes
 test/reference/halo.svg.ref.png                    | Bin 0 -> 6346 bytes
 test/reference/huge-radial.svg.ref.png             | Bin 0 -> 47207 bytes
 .../image-surface-source.svg12.argb32.xfail.png    | Bin 278 -> 0 bytes
 .../image-surface-source.svg12.rgb24.xfail.png     | Bin 278 -> 0 bytes
 test/reference/infinite-join.svg.ref.png           | Bin 0 -> 164 bytes
 test/reference/inverse-text.svg.ref.png            | Bin 0 -> 2176 bytes
 test/reference/joins.svg.ref.png                   | Bin 0 -> 6320 bytes
 test/reference/large-font.svg.ref.png              | Bin 0 -> 6126 bytes
 test/reference/leaky-dashed-stroke.svg.ref.png     | Bin 0 -> 9283 bytes
 test/reference/leaky-polygon.svg.ref.png           | Bin 0 -> 330 bytes
 test/reference/line-width-scale.svg.ref.png        | Bin 0 -> 5676 bytes
 test/reference/line-width-tolerance.svg.ref.png    | Bin 0 -> 163 bytes
 test/reference/linear-gradient-extend.svg.ref.png  | Bin 0 -> 388 bytes
 test/reference/linear-gradient-subset.svg.ref.png  | Bin 0 -> 800 bytes
 test/reference/linear-gradient.svg.ref.png         | Bin 0 -> 963 bytes
 test/reference/long-dashed-lines.svg.ref.png       | Bin 0 -> 2092 bytes
 test/reference/mask-alpha.svg.rgb24.xfail.png      | Bin 585 -> 0 bytes
 test/reference/mask-glyphs.svg.ref.png             | Bin 1211144 -> 0 bytes
 test/reference/mask-transformed-image.svg.ref.png  | Bin 0 -> 3751 bytes
 .../reference/mask-transformed-similar.svg.ref.png | Bin 3365 -> 3528 bytes
 test/reference/mask.svg.argb32.xfail.png           | Bin 8641 -> 0 bytes
 test/reference/mask.svg.ref.png                    | Bin 0 -> 8584 bytes
 test/reference/mask.svg.rgb24.xfail.png            | Bin 7199 -> 0 bytes
 test/reference/mesh-pattern-conical.svg.ref.png    | Bin 0 -> 8767 bytes
 .../mesh-pattern-control-points.svg.ref.png        | Bin 0 -> 10937 bytes
 test/reference/mesh-pattern-fold.svg.ref.png       | Bin 0 -> 53096 bytes
 test/reference/mesh-pattern-overlap.svg.ref.png    | Bin 0 -> 9114 bytes
 .../reference/mesh-pattern-transformed.svg.ref.png | Bin 0 -> 14540 bytes
 test/reference/mesh-pattern.svg.ref.png            | Bin 0 -> 19765 bytes
 test/reference/mime-data.svg.ref.png               | Bin 6513 -> 0 bytes
 test/reference/new-sub-path.svg.ref.png            | Bin 0 -> 432 bytes
 test/reference/operator-alpha-alpha.svg.xfail.png  | Bin 838 -> 0 bytes
 .../operator-alpha.svg12.argb32.xfail.png          | Bin 274 -> 0 bytes
 .../reference/operator-alpha.svg12.rgb24.xfail.png | Bin 248 -> 0 bytes
 test/reference/operator-clear.svg.ref.png          | Bin 0 -> 1055 bytes
 .../operator-clear.svg12.argb32.xfail.png          | Bin 405 -> 0 bytes
 .../reference/operator-clear.svg12.rgb24.xfail.png | Bin 535 -> 0 bytes
 test/reference/operator-source.svg.ref.png         | Bin 0 -> 5639 bytes
 test/reference/operator-www.svg.ref.png            | Bin 0 -> 39790 bytes
 test/reference/operator-www.svg.rgb24.ref.png      | Bin 0 -> 39605 bytes
 test/reference/operator.svg12.argb32.xfail.png     | Bin 238 -> 0 bytes
 test/reference/operator.svg12.rgb24.xfail.png      | Bin 242 -> 0 bytes
 .../over-above-source.svg12.rgb24.xfail.png        | Bin 563 -> 0 bytes
 .../over-around-source.svg12.argb32.xfail.png      | Bin 559 -> 0 bytes
 .../over-around-source.svg12.rgb24.xfail.png       | Bin 559 -> 0 bytes
 .../over-below-source.svg12.argb32.xfail.png       | Bin 224 -> 0 bytes
 .../over-below-source.svg12.rgb24.xfail.png        | Bin 224 -> 0 bytes
 .../over-between-source.svg12.argb32.xfail.png     | Bin 224 -> 0 bytes
 .../over-between-source.svg12.rgb24.xfail.png      | Bin 224 -> 0 bytes
 .../overlapping-glyphs.svg.argb32.ref.png          | Bin 2338 -> 0 bytes
 .../reference/overlapping-glyphs.svg.rgb24.ref.png | Bin 2338 -> 0 bytes
 test/reference/paint-source-alpha.svg.ref.png      | Bin 693 -> 0 bytes
 .../paint-with-alpha-solid-clip.svg.ref.png        | Bin 0 -> 265 bytes
 test/reference/paint-with-alpha.svg.ref.png        | Bin 483 -> 0 bytes
 .../reference/partial-clip-text-bottom.svg.ref.png | Bin 0 -> 265 bytes
 test/reference/partial-clip-text-left.svg.ref.png  | Bin 0 -> 299 bytes
 test/reference/partial-clip-text-right.svg.ref.png | Bin 0 -> 155 bytes
 test/reference/partial-clip-text-top.svg.ref.png   | Bin 173 -> 172 bytes
 test/reference/path-stroke-twice.svg.ref.png       | Bin 0 -> 214 bytes
 .../pdf-surface-source.svg12.argb32.xfail.png      | Bin 278 -> 0 bytes
 .../pdf-surface-source.svg12.rgb24.xfail.png       | Bin 278 -> 0 bytes
 ...ef.png => pixman-downscale-best-95.svg.ref.png} | Bin
 .../pixman-downscale-bilinear-24.svg.ref.png       | Bin 0 -> 179 bytes
 .../reference/pixman-downscale-fast-24.svg.ref.png | Bin 0 -> 179 bytes
 ...ef.png => pixman-downscale-fast-95.svg.ref.png} | Bin
 .../pixman-downscale-fast-95.svg12.ref.png         | Bin 474 -> 0 bytes
 .../reference/pixman-downscale-good-24.svg.ref.png | Bin 0 -> 179 bytes
 .../pixman-downscale-nearest-24.svg.ref.png        | Bin 0 -> 179 bytes
 ...png => pixman-downscale-nearest-95.svg.ref.png} | Bin
 .../pixman-downscale-nearest-95.svg11.ref.png      | Bin 474 -> 0 bytes
 .../pixman-downscale-nearest-95.svg12.ref.png      | Bin 474 -> 0 bytes
 test/reference/pixman-rotate.svg.ref.png           | Bin 0 -> 260 bytes
 .../ps-surface-source.svg12.argb32.xfail.png       | Bin 278 -> 0 bytes
 .../ps-surface-source.svg12.rgb24.xfail.png        | Bin 278 -> 0 bytes
 test/reference/push-group-color.svg.ref.png        | Bin 0 -> 3009 bytes
 test/reference/push-group.svg.ref.png              | Bin 0 -> 3133 bytes
 test/reference/radial-gradient-extend.svg.ref.png  | Bin 0 -> 483 bytes
 .../radial-gradient-mask-source.svg.ref.png        | Bin 0 -> 135378 bytes
 test/reference/radial-gradient-mask.svg.ref.png    | Bin 0 -> 273891 bytes
 .../reference/radial-gradient-one-stop.svg.ref.png | Bin 0 -> 6444 bytes
 test/reference/radial-gradient-source.ref.png      | Bin 423689 -> 423689 bytes
 test/reference/radial-gradient-source.svg.ref.png  | Bin 0 -> 423874 bytes
 test/reference/radial-gradient.svg.ref.png         | Bin 0 -> 382981 bytes
 test/reference/record-fill-alpha.svg.ref.png       | Bin 0 -> 2754 bytes
 test/reference/record-mesh.svg.ref.png             | Bin 0 -> 15400 bytes
 .../record-neg-extents-bounded.svg.ref.png         | Bin 0 -> 537 bytes
 .../record-neg-extents-unbounded.svg.ref.png       | Bin 0 -> 537 bytes
 .../record-paint-alpha-solid-clip.svg.ref.png      | Bin 0 -> 265 bytes
 .../reference/record-replay-extend-pad.svg.ref.png | Bin 0 -> 1149 bytes
 .../record-replay-extend-reflect.svg.ref.png       | Bin 0 -> 1953 bytes
 .../record-replay-extend-repeat.svg.ref.png        | Bin 0 -> 5714 bytes
 .../record-replay-extend-repeat.svg.rgb24.ref.png  | Bin 0 -> 4861 bytes
 test/reference/record-select-font-face.svg.ref.png | Bin 0 -> 2247 bytes
 test/reference/record-text-transform.svg.ref.png   | Bin 0 -> 5636 bytes
 test/reference/record1414x-fill-alpha.svg.ref.png  | Bin 0 -> 5935 bytes
 .../record1414x-paint-alpha-solid-clip.svg.ref.png | Bin 0 -> 4413 bytes
 test/reference/record1414x-paint.svg.ref.png       | Bin 0 -> 215 bytes
 .../record1414x-self-intersecting.svg.ref.png      | Bin 0 -> 655 bytes
 test/reference/record2x-fill-alpha.svg.ref.png     | Bin 0 -> 5782 bytes
 .../record2x-paint-alpha-solid-clip.svg.ref.png    | Bin 0 -> 379 bytes
 .../record2x-select-font-face.svg.ref.png          | Bin 0 -> 4469 bytes
 test/reference/record2x-text-transform.svg.ref.png | Bin 0 -> 13364 bytes
 test/reference/record90-fill-alpha.svg.ref.png     | Bin 0 -> 2661 bytes
 .../record90-paint-alpha-solid-clip.svg.ref.png    | Bin 0 -> 270 bytes
 .../record90-select-font-face.svg.ref.png          | Bin 0 -> 2238 bytes
 .../record90-self-intersecting.svg.ref.png         | Bin 0 -> 240 bytes
 test/reference/record90-text-transform.svg.ref.png | Bin 0 -> 5770 bytes
 test/reference/recordflip-fill-alpha.svg.ref.png   | Bin 0 -> 2799 bytes
 .../recordflip-select-font-face.svg.ref.png        | Bin 0 -> 2230 bytes
 .../recordflip-text-transform.svg.ref.png          | Bin 0 -> 5680 bytes
 .../recordflip-whole-select-font-face.svg.ref.png  | Bin 0 -> 2230 bytes
 .../recordflip-whole-text-transform.svg.ref.png    | Bin 0 -> 5680 bytes
 .../recording-surface-extend-none.svg.ref.png      | Bin 0 -> 3892 bytes
 .../recording-surface-extend-reflect.svg.ref.png   | Bin 0 -> 35835 bytes
 .../recording-surface-extend-repeat.svg.ref.png    | Bin 0 -> 47129 bytes
 ...cording-surface-extend-repeat.svg.rgb24.ref.png | Bin 0 -> 30830 bytes
 .../recording-surface-over.svg.argb32.ref.png      | Bin 3778 -> 0 bytes
 test/reference/recording-surface-over.svg.ref.png  | Bin 0 -> 3892 bytes
 .../recording-surface-over.svg.rgb24.ref.png       | Bin 3760 -> 0 bytes
 .../reference/recording-surface-source.svg.ref.png | Bin 0 -> 3892 bytes
 .../rectilinear-dash-scale-unaligned.svg.ref.png   | Bin 0 -> 3746 bytes
 test/reference/rectilinear-dash-scale.svg.ref.png  | Bin 0 -> 677 bytes
 test/reference/rectilinear-miter-limit.svg.ref.png | Bin 0 -> 145 bytes
 test/reference/reflected-stroke.svg.ref.png        | Bin 0 -> 5197 bytes
 test/reference/rel-path.svg.ref.png                | Bin 0 -> 193 bytes
 .../rotate-clip-image-surface-paint.svg.ref.png    | Bin 0 -> 362 bytes
 .../rotate-image-surface-paint.svg.ref.png         | Bin 209 -> 408 bytes
 .../rotate-image-surface-paint.svg.xfail.png       | Bin 387 -> 0 bytes
 test/reference/scale-offset-similar.svg.ref.png    | Bin 0 -> 9742 bytes
 ...scale-source-surface-paint.svg.argb32.xfail.png | Bin 229 -> 0 bytes
 .../scale-source-surface-paint.svg.rgb24.xfail.png | Bin 222 -> 0 bytes
 test/reference/select-font-face.svg.ref.png        | Bin 0 -> 2247 bytes
 test/reference/set-source.svg.ref.png              | Bin 0 -> 111 bytes
 test/reference/shape-sierpinski.svg.ref.png        | Bin 0 -> 54773 bytes
 test/reference/shifted-operator.rgb24.ref.png      | Bin 334 -> 403 bytes
 test/reference/shifted-operator.svg.rgb24.ref.png  | Bin 334 -> 0 bytes
 test/reference/show-glyphs-advance.svg.ref.png     | Bin 1435 -> 0 bytes
 test/reference/show-text-current-point.svg.ref.png | Bin 0 -> 2167 bytes
 test/reference/smask-fill.svg.ref.png              | Bin 1150 -> 1182 bytes
 test/reference/smask-image-mask.svg.ref.png        | Bin 0 -> 657 bytes
 test/reference/smask-mask.svg.ref.png              | Bin 2376 -> 2310 bytes
 test/reference/smask-paint.svg.ref.png             | Bin 2453 -> 2429 bytes
 test/reference/smask-stroke.svg.ref.png            | Bin 0 -> 1505 bytes
 test/reference/smask-text.svg.ref.png              | Bin 1794 -> 1849 bytes
 test/reference/smask.svg.ref.png                   | Bin 3457 -> 3438 bytes
 test/reference/smp-glyph.svg.ref.png               | Bin 0 -> 302 bytes
 test/reference/spline-decomposition.svg.ref.png    | Bin 19540 -> 19434 bytes
 test/reference/stroke-ctm-caps.svg.ref.png         | Bin 0 -> 861 bytes
 test/reference/stroke-pattern.svg.ref.png          | Bin 0 -> 1513 bytes
 .../surface-pattern-scale-down.svg.ref.png         | Bin 0 -> 1958 bytes
 test/reference/surface-pattern.svg.xfail.png       | Bin 16069 -> 0 bytes
 .../svg-surface-source.base.argb32.ref.png         | Bin 377 -> 0 bytes
 .../svg-surface-source.base.rgb24.ref.png          | Bin 301 -> 0 bytes
 test/reference/svg-surface-source.image16.ref.png  | Bin 305 -> 0 bytes
 test/reference/svg-surface-source.ps.rgb24.ref.png | Bin 312 -> 0 bytes
 test/reference/svg-surface-source.ref.png          | Bin 377 -> 0 bytes
 .../svg-surface-source.svg12.argb32.xfail.png      | Bin 278 -> 0 bytes
 .../svg-surface-source.svg12.rgb24.xfail.png       | Bin 278 -> 0 bytes
 test/reference/text-glyph-range.svg.ref.png        | Bin 0 -> 1491 bytes
 test/reference/text-pattern.svg.argb32.ref.png     | Bin 1745 -> 0 bytes
 test/reference/text-pattern.svg.rgb24.ref.png      | Bin 1453 -> 0 bytes
 test/reference/text-rotate.svg.ref.png             | Bin 17118 -> 0 bytes
 test/reference/text-transform.svg.ref.png          | Bin 5682 -> 5636 bytes
 test/reference/tiger.svg.ref.png                   | Bin 0 -> 94468 bytes
 test/reference/transforms.svg.ref.png              | Bin 0 -> 314 bytes
 test/reference/trap-clip.svg.ref.png               | Bin 0 -> 5857 bytes
 test/reference/twin.svg.ref.png                    | Bin 3040 -> 3298 bytes
 .../unbounded-operator.svg12.argb32.ref.png        | Bin 2767 -> 0 bytes
 .../unbounded-operator.svg12.rgb24.xfail.png       | Bin 1731 -> 0 bytes
 test/reference/unclosed-strokes.svg.ref.png        | Bin 0 -> 1504 bytes
 test/reference/user-font-mask.svg.ref.png          | Bin 2030 -> 0 bytes
 test/reference/user-font-proxy.svg.ref.png         | Bin 16814 -> 16938 bytes
 test/reference/user-font-rescale.svg.ref.png       | Bin 14873 -> 15031 bytes
 test/reference/user-font.svg.ref.png               | Bin 6379 -> 5851 bytes
 test/reference/world-map-fill.svg.ref.png          | Bin 0 -> 57599 bytes
 test/reference/world-map-stroke.svg.ref.png        | Bin 0 -> 65969 bytes
 test/reference/world-map.svg.ref.png               | Bin 0 -> 70825 bytes
 .../xlib-surface-source.svg12.argb32.xfail.png     | Bin 278 -> 0 bytes
 .../xlib-surface-source.svg12.rgb24.xfail.png      | Bin 278 -> 0 bytes
 270 files changed, 0 insertions(+), 0 deletions(-)

commit 5b678d818566bc1fd1abe3ab41662f13ffa39687
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 14:58:19 2021 +0200

    Fix applying shifted operators

 src/cairo-svg-surface.c                           | 280 ++++++++++++++++------
 test/Makefile.sources                             |   1 +
 test/meson.build                                  |   1 +
 test/reference/shifted-operator.ref.png           | Bin 0 -> 448 bytes
 test/reference/shifted-operator.rgb24.ref.png     | Bin 0 -> 334 bytes
 test/reference/shifted-operator.svg.rgb24.ref.png | Bin 0 -> 334 bytes
 test/shifted-operator.c                           |  56 +++++
 7 files changed, 260 insertions(+), 78 deletions(-)

commit c30a031a686e53d7df4f86aae52823a4282c046c
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 09:58:40 2021 +0200

    Fix painting of glyphs

 src/cairo-svg-surface.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit 55b57b2c681929077de649f65d10d05f74c2c5b6
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 00:30:57 2021 +0200

    Fix operators in Chrome

 src/cairo-svg-surface.c | 94 ++++++++++++++++++++++++-------------------------
 1 file changed, 46 insertions(+), 48 deletions(-)

commit 10552fa78f63266f448bd0785ef3ef27cb91b9a3
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon May 3 00:30:14 2021 +0200

    Use g instead of symbol for glyphs

 src/cairo-svg-surface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 62628c8886c074f8cc3e3d96e55120e3abf72f15
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun May 2 21:38:02 2021 +0200

    Migrate from cairo_output_stream_t to cairo_svg_stream_t

 src/cairo-svg-surface.c | 1722 ++++++++++++++++++++++++++---------------------
 1 file changed, 945 insertions(+), 777 deletions(-)

commit 45cca0c984c17e98964beb63410627298d1f6a01
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun May 2 21:25:48 2021 +0200

    meson: Move CAIRO_HAS_INTERPRETER to config.h
    
    This is what autoconf does and hopefully that means this is the correct
    thing to do.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 meson.build      | 4 ++--
 util/meson.build | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 009d75b8db33a8e5ae42eddcb63d9c5a5da9b60e
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun May 2 19:30:28 2021 +0200

    xcb: remove free pixmap/gc wrappers
    
    With the last commit, these became pointless. Just switch the code to
    call the underlying function directly.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-xcb-connection-core.c | 14 --------------
 src/cairo-xcb-private.h         |  8 --------
 src/cairo-xcb-screen.c          |  4 ++--
 src/cairo-xcb-surface-core.c    |  2 +-
 src/cairo-xcb-surface-render.c  |  4 ++--
 src/cairo-xcb-surface.c         |  6 +++---
 6 files changed, 8 insertions(+), 30 deletions(-)

commit 56378ee69e599b553f15ccf12fef41f6f3e6d8b8
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun May 2 19:28:55 2021 +0200

    Do not try to emulate the fill_stroke operations ourselves

 src/cairo-svg-surface.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

commit c16094fc443c076475c4633d83d6e67539cf423e
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun May 2 17:49:32 2021 +0200

    xcb: Remove free XID cache
    
    cairo-xcb kept a cache of free xid to avoid calling xcb_generate_id()
    later. However, this is unsafe: When libxcb runs out of ids, it asks the
    X11 server for an empty range of ids to use. The X11 server of course
    does not know about cairo's cache and could hand out an id that cairo
    will use again later. This would then result in BadIdChoice errors
    later.
    
    Fix this by simply removing the whole cache.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/434
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-xcb-connection-core.c   |  6 ++---
 src/cairo-xcb-connection-render.c |  2 --
 src/cairo-xcb-connection-shm.c    |  3 +--
 src/cairo-xcb-connection.c        | 50 ++-------------------------------------
 src/cairo-xcb-private.h           | 10 --------
 src/cairo-xcb-surface-render.c    |  6 ++---
 6 files changed, 8 insertions(+), 69 deletions(-)

commit 4f61b765c9f657fd755194afe576e56f945af4b6
Merge: aa0231524 753ea90ac
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun May 2 14:55:48 2021 +0000

    Merge branch 'record-png-offset' into 'master'
    
    Add a test case for commit d07fb410568423
    
    See merge request cairo/cairo!122

commit aa02315243a5b3ea3dd1bacb61d4ad69fec2e5e2
Merge: 8f6cfe417 bd1384125
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun May 2 05:48:26 2021 +0000

    Merge branch 'ebassi/config-define' into 'master'
    
    meson: Define HAVE_CONFIG_H as a project flag
    
    See merge request cairo/cairo!172

commit 8f4668b4bfb1dcdee6e600a16a6fcc9edb8422be
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat May 1 23:40:02 2021 +0200

    Disable support for SVG 2 operators

 src/cairo-svg-surface.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit bd487e64fc3680abf2dd9e165c7506043132229d
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat May 1 23:11:13 2021 +0200

    Add support for CAIRO_CONTENT_COLOR

 boilerplate/cairo-boilerplate-svg.c                |  24 +++++++------
 src/cairo-svg-surface.c                            |  37 +++++++++++++++------
 test/operator-www.c                                |  15 +++++++--
 ...ge.rgb24.ref.png => operator-www.rgb24.ref.png} | Bin
 4 files changed, 52 insertions(+), 24 deletions(-)

commit a3e01d9e8c79c4dddd401af15bf37db7d75435ec
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat May 1 23:05:03 2021 +0200

    Emit a transparent paint in "lerp_compositing_group"s to extends the bounds of the REMOVE_COLOR_AND_INVERT_ALPHA filter

 src/cairo-svg-surface.c | 2 ++
 1 file changed, 2 insertions(+)

commit bd138412579e9a7c251ea8f2f1bb2cdb3d0bf95b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat May 1 17:05:29 2021 +0100

    Drop the conditional inclusion of config.h
    
    We *always* generate this file, and we depend on its existence.
    
    The idea behind HAVE_CONFIG_H was being able to include random files
    from different projects, back in a time where "libraries" were literally
    just random files instead of actual shared objects.
    
    Since we're not in the '80s any more, and our build system(s) define
    HAVE_CONFIG_H *and* generate the config.h header file, we don't need a
    conditional guard around its inclusion.

 boilerplate/cairo-boilerplate.h            | 2 --
 perf/cairo-perf-print.c                    | 2 --
 src/cairo-atomic-private.h                 | 4 +---
 src/cairo-compiler-private.h               | 2 --
 src/cairo-mutex-impl-private.h             | 2 --
 src/cairo-wideint-type-private.h           | 2 --
 src/cairoint.h                             | 2 --
 test/any2ppm.c                             | 2 --
 test/api-special-cases.c                   | 2 --
 test/buffer-diff.c                         | 2 --
 test/cairo-test.c                          | 2 --
 test/error-setters.c                       | 2 --
 test/fallback-resolution.c                 | 2 --
 test/imagediff.c                           | 2 --
 test/pdiff/pdiff.c                         | 2 --
 test/ps-eps.c                              | 2 --
 test/solid-pattern-cache-stress.c          | 2 --
 test/toy-font-face.c                       | 2 --
 util/cairo-fdr/fdr.c                       | 2 --
 util/cairo-gobject/cairo-gobject-enums.c   | 2 --
 util/cairo-gobject/cairo-gobject-structs.c | 2 --
 util/cairo-script/cairo-script-private.h   | 2 --
 util/cairo-sphinx/fdr.c                    | 2 --
 util/cairo-sphinx/sphinx.c                 | 2 --
 util/cairo-trace/lookup-symbol.c           | 2 --
 util/cairo-trace/trace.c                   | 2 --
 util/trace-to-xml.c                        | 2 --
 27 files changed, 1 insertion(+), 55 deletions(-)

commit bfd1602db9fd0d23074ef4d1628de66d70241c3b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat May 1 16:58:15 2021 +0100

    Remove stray _GNU_SOURCE definitions
    
    We define _GNU_SOURCE globally in both the Autotools build, through the
    use of the AC_USE_SYSTEM_EXTENSIONS macro; and in the Meson build, with
    add_project_arguments().

 boilerplate/cairo-boilerplate-system.c | 2 --
 perf/cairo-analyse-trace.c             | 2 +-
 perf/cairo-perf-micro.c                | 2 +-
 perf/cairo-perf-report.c               | 6 ++----
 perf/cairo-perf-trace.c                | 2 +-
 src/cairo-misc.c                       | 2 --
 src/cairo-quartz-surface.c             | 1 -
 test/cairo-test-trace.c                | 2 --
 test/cairo-test.c                      | 2 --
 test/invalid-matrix.c                  | 2 +-
 test/pdiff/pdiff.c                     | 2 --
 util/cairo-fdr/fdr.c                   | 2 --
 util/cairo-sphinx/fdr.c                | 2 --
 util/cairo-trace/lookup-symbol.c       | 2 --
 util/cairo-trace/trace.c               | 2 --
 util/show-contour.c                    | 3 ++-
 util/show-edges.c                      | 3 ++-
 util/show-events.c                     | 3 ++-
 util/show-polygon.c                    | 3 ++-
 util/show-traps.c                      | 3 ++-
 20 files changed, 16 insertions(+), 32 deletions(-)

commit 833630979404faae2bd99c59e4e5739e675917f0
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat May 1 16:55:38 2021 +0100

    meson: Define HAVE_CONFIG_H as a project flag
    
    Precisely what Autotools does, instead of adding it as per-target C
    argument.
    
    Once we remove HAVE_CONFIG_H checks in every source file, we'll be able
    to drop it.

 boilerplate/meson.build        | 2 --
 meson.build                    | 3 +++
 src/meson.build                | 4 ++--
 test/meson.build               | 4 +---
 test/pdiff/meson.build         | 2 --
 util/cairo-fdr/meson.build     | 1 -
 util/cairo-gobject/meson.build | 1 -
 util/cairo-missing/meson.build | 1 -
 util/cairo-script/meson.build  | 4 ----
 util/cairo-sphinx/meson.build  | 3 +--
 util/cairo-trace/meson.build   | 2 +-
 11 files changed, 8 insertions(+), 19 deletions(-)

commit cd0082338e1fb2a4455f11523fd3b60fbcf29e15
Merge: 898021ba3 8f6cfe417
Author: afdw <afdw@yandex.ru>
Date:   Sat May 1 14:40:52 2021 +0000

    Merge branch 'master' into 'svg-backend-work'
    
    # Conflicts:
    #   src/cairo-gstate.c

commit 8f6cfe41773be1764a0813e6bd8f97e18d5b8cd3
Merge: 4c4e6127f 58b192917
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Apr 30 12:12:22 2021 +0000

    Merge branch 'ci-test-x11' into 'master'
    
    CI: Check test results for cairo-xcb and cairo-x11
    
    See merge request cairo/cairo!165

commit 4c4e6127f45ce8b761acfbc2b1a0548a1535aa9d
Merge: 64e1fd70e cb86c13b6
Author: Emmanuele Bassi <ebassi@gmail.com>
Date:   Thu Apr 29 09:18:07 2021 +0000

    Merge branch 'jfkthame-master-patch-60864' into 'master'
    
    Don't leave the shm field uninitialized when building without shm support.
    
    See merge request cairo/cairo!170

commit cb86c13b626f098ce4e65072a375494993548ebe
Author: Jonathan Kew <jfkthame@googlemail.com>
Date:   Thu Apr 29 08:52:31 2021 +0000

    Don't leave the shm field uninitialized when building without shm support.
    
    This can result in reading an uninitialized value in draw_image_boxes() in cairo-xlib-render-compositor.c.

 src/cairo-xlib-surface-shm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 64e1fd70ec065567d0082bbc98523825aaa0a817
Merge: 47770fc2b efab74f5a
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Apr 27 16:30:44 2021 +0000

    Merge branch 'ebassi/warnings-fixes' into 'master'
    
    Avoid a bunch of compiler warnings
    
    See merge request cairo/cairo!166

commit 47770fc2b7df8d078ac6d421822e850927cddf7d
Merge: 14385eeff 0bbb9de80
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Apr 27 16:24:29 2021 +0000

    Merge branch 'ebassi/deprecations' into 'master'
    
    Use g_memdup2() with newer versions of GLib
    
    See merge request cairo/cairo!167

commit efab74f5a11ba2a5ececb5ffe48f5b86d945f3b7
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 11:07:38 2021 +0100

    Drop volatile from the GType registration
    
    The `volatile` is unnecessary, and newer versions of GLib and GCC will
    complain if you use it.

 util/cairo-gobject/cairo-gobject-structs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0f39b795754681120c06f760362554d7e2b5c753
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 11:12:42 2021 +0100

    Define _GNU_SOURCE in order to use memmem
    
    The memmem() function is a GNU extension, which means we need to define
    _GNU_SOURCE in order to avoid a compiler warning about a missing
    declaration.

 meson.build | 2 ++
 1 file changed, 2 insertions(+)

commit 0bbb9de8069fca5685568b9cf475da45da9fc554
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 11:18:10 2021 +0100

    Disable deprecation warnings from librsvg
    
    This is a test utility, we don't really care about deprecations.

 test/any2ppm.c | 1 +
 test/svg2png.c | 3 +++
 2 files changed, 4 insertions(+)

commit b7d38e048fb44f60e3a4d0f9d49fdd21259afc4a
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 11:08:27 2021 +0100

    Use g_memdup2() with newer versions of GLib
    
    The g_memdup() function has been deprecated, as it takes the size of the
    memory area as an unsigned integer. The g_memdup2() replacement uses the
    more appropriate size_t type, instead.

 util/cairo-gobject/cairo-gobject-structs.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 966b4a4e5fb487a2400fcb2a62b51a7e93913489
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 11:17:38 2021 +0100

    Handle new Cairo formats in test-trace
    
    We are missing RGB96F and RGBA128F.

 test/cairo-test-trace.c | 2 ++
 1 file changed, 2 insertions(+)

commit 7027360c82f43fa5a84e55890d3fbaef49ba4764
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Apr 18 11:06:52 2021 +0100

    Handle new Cairo formats in the XML surface
    
    We are missing RGB96F and RGBA128F.

 src/cairo-xml-surface.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 14385eeff3b9184c599614648b98458451b8db2b
Merge: 816e7ac06 2d2f73bc3
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Apr 26 16:06:23 2021 +0000

    Merge branch 'mac-tests' into 'master'
    
    Run the test suite on MacOS
    
    See merge request cairo/cairo!160

commit 816e7ac06f33f9fbc446297b601f1ffe2c63801b
Merge: f125a457e 8d0274413
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Apr 26 16:04:23 2021 +0000

    Merge branch 'fix-cairo-gstate-copy-transformed-pattern-comment' into 'master'
    
    Replace an outdated (after f0e2cd44) comment with clarification in _cairo_gstate_copy_transformed_pattern
    
    See merge request cairo/cairo!162

commit 8d0274413667039ee46a26a4b8abe1ae2bbd1c28
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 24 14:55:19 2021 +0200

    Replace an outdated (after f0e2cd44) comment with clarification in _cairo_gstate_copy_transformed_pattern

 src/cairo-gstate.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

commit 58b1929173d60719aedfbc3709f1b948d266d45f
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 25 12:32:56 2021 +0200

    script: Also ignore {xcb,xlib}-surface-source
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4d3dfb7bcba78b4072552095871f647e90469f05
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 25 11:05:59 2021 +0200

    .gitlab-ci.yml: Ignore current X11 test failures
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml           | 12 ++++++++++++
 test/cairo-test-runner.c |  9 +++++++++
 2 files changed, 21 insertions(+)

commit 845c1f2a9aa94f52fb89e92c4c2c2f82400332af
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 25 10:07:54 2021 +0200

    CI: Run tests with an X11 server
    
    Running the test suite with an X11 server allows testing cairo-x11 and
    cairo-xcb.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit f125a457eab5e6a8b1428389448c954bcc7d6d52
Merge: 3c00a849f d03b6c90a
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 25 07:26:19 2021 +0000

    Merge branch 'fix-cairo-operator-bounded' into 'master'
    
    Make the _cairo_operator_bounded family of functions consistent
    
    See merge request cairo/cairo!163

commit 3c00a849f6f4e280e95bb21b6f6a3946cabf65af
Merge: de2a71b23 f4a3236d1
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 25 07:20:26 2021 +0000

    Merge branch 'fix-cairo-status-is-error' into 'master'
    
    Add missing parentheses to _cairo_status_is_error and _cairo_int_status_is_error
    
    See merge request cairo/cairo!161

commit d03b6c90a7d652b8b8c6d84e9c230dc69c339d5d
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 24 14:57:47 2021 +0200

    Make the _cairo_operator_bounded family of functions consistent

 src/cairo-misc.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

commit f4a3236d144e21f3cca3f2374b29ba907ffbd523
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 24 14:50:30 2021 +0200

    Add missing parentheses to _cairo_status_is_error and _cairo_int_status_is_error

 src/cairo-error-private.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 898021ba3953f1125e9eca42d59f7346ab33cc60
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 24 14:36:14 2021 +0200

    Simplify _cairo_hash_table_size

 src/cairo-hash.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

commit 0cc63f5d49630d579d97cb22a7c39f1ea31c728e
Merge: 9f44a2a1b de2a71b23
Author: afdw <afdw@yandex.ru>
Date:   Sat Apr 24 12:30:44 2021 +0000

    Merge branch 'master' into 'svg-backend-work'
    
    # Conflicts:
    #   src/cairo-malloc-private.h
    #   src/cairo-svg-surface.c

commit de2a71b230e0202292e5deae7e19a90139165a49
Merge: ec2933b06 0392dd783
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Apr 23 19:40:46 2021 +0000

    Merge branch 'svg-ci' into 'master'
    
    Enable SVG in CI
    
    See merge request cairo/cairo!156

commit 2d2f73bc3cb664ceee722ba6305f97023a2eebfd
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Apr 22 16:14:37 2021 +0200

    Run the test suite on MacOS
    
    This adds the necessary commands to run the test suite on MacOS in CI
    and to also ignore the current failures.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml           |  6 ++++++
 test/cairo-test-runner.c | 14 ++++++++++++++
 2 files changed, 20 insertions(+)

commit ec2933b06e484a2f9c35b1b886a85e322adf7998
Merge: d4617e31b 4f4d89506
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Apr 20 12:35:17 2021 +0000

    Merge branch 'wip/Jehan/subpixel-antialiasing' into 'master'
    
    src: do not override explicitly requested grayscale antialiasing.
    
    See merge request cairo/cairo!114

commit d4617e31bef2136309c208c1faed895a013deb0a
Merge: 7de7d5759 f6a3f6d8a
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Apr 20 10:33:20 2021 +0000

    Merge branch 'no-fontconfig-on-windows' into 'master'
    
    Don't build fontconfig on Windows
    
    See merge request cairo/cairo!159

commit f6a3f6d8add98bf5f15d6fbdc4cd887a0936b531
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Mon Apr 19 11:49:31 2021 -0400

    Don't build fontconfig on Windows
    
    mesons 'auto' is too eager to build things. Building
    fontconfig as a subproject on Windows is not the right
    thing, unless it was explictly requested.

 meson.build | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 0392dd783c563c655f7a83b315555f3756c3a512
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 18 13:00:07 2021 +0200

    Ignore create-for-stream failure with svg
    
    The create-for-stream test verifies that writing something to a file and
    writing it to an in-memory surface produces the same output. The test
    currently fails when the svg backend is tested with:
    
    TEST: create_for_stream TARGET: pdf RESULT: PASS
    svg: Stream based output differ from file output for output/create-for-stream.out.svg.
    TEST: create_for_stream TARGET: svg RESULT: FAIL
    
    I guess this is because svg uses unique IDs for surfaces, meaning that
    drawing two times the same thing in the same process can produce
    different outputs. However, this is just a guess and I didn't
    investigate further.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml           |  1 +
 test/cairo-test-runner.c | 12 ++++++++++++
 2 files changed, 13 insertions(+)

commit 2f8b5bc7b202a00c19bfce732564c54df47e3010
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 18 10:08:37 2021 +0200

    Add hack to ignore a svg test crashes
    
    This adds a special hack to the test suite to ignore the crashes for
    self-copy and self-copy-overlap for the svg backend in CI.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml           |  1 +
 test/cairo-test-runner.c | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

commit 0c9dacbc432abc98ffc5f0d7097821e330663e64
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 18 09:32:44 2021 +0200

    svg: Reject raster sources
    
    This hopefully fixes the raster-source test case crashing:
    
    cairo-svg-surface.c:2269: _cairo_svg_surface_emit_pattern: Assertion `!"reached"' failed.
    
    I cannot / did not test this change locally and rely on CI to tell me
    whether this works.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-svg-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9ea171b132c442a2c972b22596a5911d7bf033a7
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 18 08:40:17 2021 +0200

    Ignore current svg failures in CI
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 4 ++++
 1 file changed, 4 insertions(+)

commit ca3423a701a441425b336dadfb3901a6ff948e3b
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 18 08:18:49 2021 +0200

    Install gtk2-devel on CI
    
    From config.log from CI:
    
    configure:27855: $PKG_CONFIG --exists --print-errors "$librsvg_DEPENDENCY gdk-2.0"
    Package gdk-2.0 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `gdk-2.0.pc'
    to the PKG_CONFIG_PATH environment variable
    Package 'gdk-2.0', required by 'virtual:world', not found
    configure:27858: $? = 1
    Package 'gdk-2.0', required by 'virtual:world', not found
    configure:27885: result: no
    configure:27921: WARNING: SVG backend will not be tested since librsvg >= 2.35.0 is not available
    
    According to Google, it seems like gtk2-devel is the right package to
    get gdk-2.0.pc.
    
    Thanks a lot to @tpm for explaining that I also have to change the TAG
    variable.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit f8157ae751caeace9e8fdc9df4cc41e0593fd841
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 18 08:01:09 2021 +0200

    Add config.log to build artefacts
    
    This fail is not large, so doesn't "cost much", but it helps in figuring
    out build problems in CI like "what exactly is missing for the SVG
    backend?".
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

commit 7de7d57592370fbf625741526c689f747db15174
Merge: dfd543d01 a31c7395a
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sat Apr 17 10:01:17 2021 +0000

    Merge branch 'ci-make-test-succeeds' into 'master'
    
    CI: Actually run cairo-test-suite
    
    See merge request cairo/cairo!140

commit a31c7395a1ae0dd0cb01eac8fb72a07df955375a
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Apr 17 10:01:17 2021 +0000

    test-suite: Add a new mechanism for XFAILs
    
    This commit adds a new mechanism to mark tests as expected to fail via
    an environment variable. For example, if you expect the tests "foo" and
    "bar" to fail when run under image.argb32, you would set
    
       CAIRO_TEST_IGNORE_image_argb32=foo,bar
    
    The test suite then expects these tests to fail and treats this as
    xfail. If they do not fail, this is a failure on its own.
    
    This new feature is explicitly not documented much, because it is only
    used as a stopgap measure to make our CI more useful: Right now the test
    suite runs on CI, but the result is ignored. This new feature allows to
    mark the known failures as xfail without too much work. When the
    situation changes, this will be noticed as a new test suite failure.
    Thus, these environment variables to not run into the danger of still
    containing tests that were already fixed.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml           |  15 ++++++-
 test/cairo-test-runner.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+), 2 deletions(-)

commit dfd543d0134d366df6864b0ef4d4e491425ec2c9
Merge: c287fb3a1 67099a091
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Apr 17 07:06:06 2021 +0000

    Merge branch 'fix-cairo-malloc' into 'master'
    
    Change int to size_t in the _cairo_malloc function family
    
    See merge request cairo/cairo!153

commit 9f44a2a1b63ca0b63299b2b3291c8942cb368793
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 20:58:49 2021 +0200

    Add a small padding around paints

 src/cairo-svg-surface.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 67099a091ec289b5190fbce4dd12ff710b8706a0
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 19:10:40 2021 +0200

    Change int to size_t in the _cairo_malloc function family
    
    This should allow to use them for allocating large amounts of memory.
    
    Also use explicit checks for zeros to not make the compiler think that it is a boolean context.

 src/cairo-malloc-private.h | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 43a602b18561631b992944d2440c929e225084f6
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 18:31:23 2021 +0200

    Skip the color to alpha filter when possible

 src/cairo-svg-surface.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

commit 69d90f3e62902fd5e5f8a9bd50711b3da743839e
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 18:03:40 2021 +0200

    Implement attempting to recognize a common pattern for a bitmap font and extract the original glyph image from it

 src/cairo-svg-surface.c | 66 ++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 55 insertions(+), 11 deletions(-)

commit 982c37f5446965c4bcd5754e8b89bca5284469c8
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 11:49:32 2021 +0200

    Fix warnings and pipeline failure

 src/cairo-svg-surface-private.h | 19 ++++++++++++++++---
 src/cairo-svg-surface.c         | 18 +++++-------------
 2 files changed, 21 insertions(+), 16 deletions(-)

commit 3cb6377c08182114f15e1fd0e358fe4e92fb8b90
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 04:27:26 2021 +0200

    Revert "Fix filter being used on the use element causing the content to be clipped"
    
    This reverts commit 2a8672d06ef98b5375c6eee825791c2797bef078.

 src/cairo-svg-surface.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

commit 90aa943555f1861583138b88694012bb93da7b0a
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 04:24:43 2021 +0200

    Add support for PDF Type 3 fonts

 src/cairo-svg-surface.c | 73 +++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 59 insertions(+), 14 deletions(-)

commit 1c1bceb581941b304a7ed8ff9fd3519884250633
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 13 02:58:43 2021 +0200

    Emit bitmap glyph data as images instead of as a bunch of squares, as this results in smaller file size and better quality, allowing the use of shades of gray

 src/cairo-svg-surface.c | 85 ++++++++++++++++++++++++++++---------------------
 1 file changed, 49 insertions(+), 36 deletions(-)

commit 1fe3c5571253a5b6c7808981babff09af8fbb3ed
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon Apr 12 18:49:03 2021 +0200

    Do not emit empty glyph paths

 src/cairo-svg-surface.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 2a8672d06ef98b5375c6eee825791c2797bef078
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon Apr 12 11:55:56 2021 +0200

    Fix filter being used on the use element causing the content to be clipped

 src/cairo-svg-surface.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit c287fb3a1f3e9a19abf062ac773f4c6a5118100b
Merge: 277a1daec cd2b91c62
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Mon Apr 12 08:30:57 2021 +0000

    Merge branch 'win32-atomic' into 'master'
    
    atomic: Add support for WIN32 atomic operations
    
    See merge request cairo/cairo!151

commit 87d5c9e8d1cb46415f3e1e7b24fff87a6e083b9a
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon Apr 12 00:17:51 2021 +0200

    Add missing include

 src/cairo-svg-surface-private.h | 2 ++
 1 file changed, 2 insertions(+)

commit 5932084df3b9edd4472682f728a57bdb0b511950
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Mon Apr 12 00:00:45 2021 +0200

    Remove _cairo_memory_stream_to_string

 src/cairo-output-stream-private.h |  3 ---
 src/cairo-output-stream.c         | 10 ----------
 2 files changed, 13 deletions(-)

commit 917f366ad1d6da84221bb9ee1c3a9892cca98304
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 23:41:59 2021 +0200

    Add a test for #431

 test/Makefile.sources                           |   1 +
 test/bug-431.c                                  |  64 ++++++++++++++++++++++++
 test/meson.build                                |   1 +
 test/reference/bug-431.ref.png                  | Bin 0 -> 16314 bytes
 test/reference/operator-www.svg11.rgb24.ref.png | Bin 39557 -> 0 bytes
 5 files changed, 66 insertions(+)

commit 39dabd34fee8ac07538e6567a105e9773e6c7acd
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 23:28:41 2021 +0200

    Mark CAIRO_PATTERN_TYPE_MESH as unsupported and impose a limit on recording surfaces depth

 src/cairo-svg-surface.c | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

commit c91afd777a8260931d2c19b9c19679cf3ae6bfe9
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 22:42:23 2021 +0200

    Do not use parent_matrix in the mask operation

 src/cairo-svg-surface.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

commit d44bb67c7ffd0d42a29ecb37de0de4b768131ab8
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 22:16:27 2021 +0200

    Fix clip-rule being emitted on the wrong elements

 src/cairo-svg-surface.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 580e9b9be6f53fb63082a6c2e97f74219a4c9e54
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 21:50:45 2021 +0200

    Add my name to the header of cairo-svg-surface.c

 src/cairo-svg-surface.c | 2 ++
 1 file changed, 2 insertions(+)

commit 500b39e98fa17aaf89a805aa4ce73c5f334f6bd9
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 21:49:47 2021 +0200

    Move cairo_svg_surface_t to cairo-svg-surface.c

 boilerplate/cairo-boilerplate-svg.c |  8 ++-----
 src/cairo-svg-surface-private.h     | 39 +++----------------------------
 src/cairo-svg-surface.c             | 46 +++++++++++++++++++++++++++++++++----
 3 files changed, 47 insertions(+), 46 deletions(-)

commit ceae137ba6930c0415b64918e74750d1cfd162cb
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 21:32:49 2021 +0200

    Finish implementing correct paints in transformed recording patterns

 src/cairo-svg-surface-private.h               |   1 +
 src/cairo-svg-surface.c                       | 231 +++++++++++++++++---------
 test/Makefile.sources                         |   1 +
 test/meson.build                              |   1 +
 test/record-transform-paint.c                 |  64 +++++++
 test/reference/record-transform-paint.ref.png | Bin 0 -> 2187 bytes
 6 files changed, 223 insertions(+), 75 deletions(-)

commit c5b24a3e12815fce328997a9b5825d732329cc4b
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 19:48:50 2021 +0200

    Start implementing correct paints in transformed recording patterns

 src/cairo-hash-private.h        |   3 +
 src/cairo-hash.c                |  21 ++
 src/cairo-svg-surface-private.h |  16 +-
 src/cairo-svg-surface.c         | 440 ++++++++++++++++++++++++++--------------
 4 files changed, 314 insertions(+), 166 deletions(-)

commit c2ea2848fd52c23023f31f35f1a16693f8b50313
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sun Apr 11 13:05:59 2021 +0200

    Simplify _cairo_svg_surface_emit_composite_surface_pattern

 src/cairo-svg-surface.c | 107 +++++++++++++++++++++++-------------------------
 1 file changed, 52 insertions(+), 55 deletions(-)

commit 89eda6f65035af676f8028a1ecfab6e376a757a0
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 23:45:26 2021 +0200

    Simplify ignoring of statuses

 src/cairo-svg-surface.c | 123 ++++++++++++++++++------------------------------
 1 file changed, 47 insertions(+), 76 deletions(-)

commit cf0023d7cef4b0bb82020d496de40d36b8503973
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 23:39:13 2021 +0200

    Simplify SVG document generation

 src/cairo-svg-surface.c | 123 ++++++++++++++++++++----------------------------
 1 file changed, 52 insertions(+), 71 deletions(-)

commit 733c38b9f494fe64d1314e5d5cc5da4212a5bb9b
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 23:08:06 2021 +0200

    Fix and clarify _cairo_svg_surface_do_operator

 src/cairo-svg-surface.c | 436 ++++++++++++++++++++++++++----------------------
 1 file changed, 240 insertions(+), 196 deletions(-)

commit b5baac736f923bcabd59b5cb160eed7029feffef
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 20:13:10 2021 +0200

    Do not create temporary single-color patterns. Also, do not try to support CAIRO_CONTENT_COLOR

 src/cairo-svg-surface.c | 61 ++++++++++++-------------------------------------
 1 file changed, 14 insertions(+), 47 deletions(-)

commit d88ac55b9ffb04cd5dd6ae76c3939f767ced9bbf
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 19:49:50 2021 +0200

    Remove SVG 1.2 and CAIRO_CONTENT_COLOR SVG boilerplate targets

 boilerplate/cairo-boilerplate-svg.c | 57 -------------------------------------
 1 file changed, 57 deletions(-)

commit 9ac707374fa3fc6029c4c33e2193fca0b50e4109
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 18:39:18 2021 +0200

    Fix problems with radial gradients

 src/cairo-svg-surface.c | 235 +++++++++++++++++++++---------------------------
 1 file changed, 104 insertions(+), 131 deletions(-)

commit d397ab6d10123e6bbcf9ae446cc8ffd981f18222
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 00:45:20 2021 +0200

    Change the default SVG unit to user unit

 src/cairo-svg-surface.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit f85834a1f5760a6bbec57fd8d24f35653fd6f2de
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Sat Apr 10 00:32:30 2021 +0200

    Do not use the style attribute

 src/cairo-svg-surface.c | 571 ++++++++++++++++++++++++------------------------
 1 file changed, 282 insertions(+), 289 deletions(-)

commit 71eef9c8bc21a5f9746dd7be411257fd3d9f20cc
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 21:19:47 2021 +0200

    Implement the rest of the operators

 src/cairo-svg-surface.c                         | 353 +++++++++++++++---------
 test/operator-www.c                             |   3 +
 test/reference/operator-www.image.rgb24.ref.png | Bin 0 -> 39557 bytes
 test/reference/operator-www.ref.png             | Bin 0 -> 39796 bytes
 test/reference/operator-www.svg11.rgb24.ref.png | Bin 0 -> 39557 bytes
 5 files changed, 223 insertions(+), 133 deletions(-)

commit 0df89ca8d8472dbb49e0613d6bcc7acbe9d00ad0
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 19:42:59 2021 +0200

    Implement most of the non-blending operators

 src/cairo-svg-surface.c | 242 +++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 211 insertions(+), 31 deletions(-)

commit e728eb43de3476234382cd770157927658daddb6
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 15:34:45 2021 +0200

    Implement the in operator

 src/cairo-svg-surface.c | 162 +++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 155 insertions(+), 7 deletions(-)

commit 961db5b846a551a040895ca521732b396f747765
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 10:43:52 2021 +0200

    Implement operators for the rest of operations

 src/cairo-svg-surface.c | 333 +++++++++++++++++++++++++++++-------------------
 1 file changed, 204 insertions(+), 129 deletions(-)

commit 1a03d883ab1c965efcbd4782c7783e4629ecf779
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 09:33:50 2021 +0200

    Implement operators for the mask operation

 src/cairo-svg-surface.c | 287 +++++++++++++++++++++++++++++-------------------
 1 file changed, 174 insertions(+), 113 deletions(-)

commit a89960a67cdb239b17bb127f5cf08bb787307445
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 04:18:42 2021 +0200

    Add support for the source and clear operators for the paint operation

 src/cairo-svg-surface-private.h |   1 +
 src/cairo-svg-surface.c         | 392 +++++++++++++++++++++++-----------------
 2 files changed, 226 insertions(+), 167 deletions(-)

commit f6f73ba83607a2d2ee20b550803b2a2de001c515
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 02:13:28 2021 +0200

    Add a layer of indiraction to calls to the clipper

 src/cairo-svg-surface.c | 92 ++++++++++++++++++++++++-------------------------
 1 file changed, 45 insertions(+), 47 deletions(-)

commit daeb9736e9e25a88d9b9f46fca7fe7d2699915ca
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 01:26:29 2021 +0200

    Update the analyze mode of operations

 src/cairo-svg-surface.c | 411 +++++++++++++++++++++---------------------------
 1 file changed, 183 insertions(+), 228 deletions(-)

commit 2a9e189410326d08989ce99e0f5ad99b821ad3ed
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Apr 9 00:00:28 2021 +0200

    Remove the use of extra_attributes

 src/cairo-svg-surface.c | 85 +++++++++++++++----------------------------------
 1 file changed, 26 insertions(+), 59 deletions(-)

commit d59c7fb71f18d22e368494278047716b5293100d
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 23:48:51 2021 +0200

    Remove the use of discard_filter

 src/cairo-svg-surface.c | 72 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 45 insertions(+), 27 deletions(-)

commit 0cddf4769c73073f1cf9569791063de3287a6802
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 22:43:55 2021 +0200

    Introduce _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used

 src/cairo-misc.c        | 14 ++++++--------
 src/cairo-svg-surface.c | 39 ++++++++++++++++++---------------------
 2 files changed, 24 insertions(+), 29 deletions(-)

commit 7a21a930e9da8a43d9a32071b90b84184fc01451
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 21:59:01 2021 +0200

    Add warning supression in one place and remove them in others

 src/cairo-malloc-private.h | 2 +-
 src/cairo-svg-surface.c    | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 3b6ea32854383e52a8ebe548b3ea11d654ba6780
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 21:47:32 2021 +0200

    Do not check the status after creating a memory stream
    
    As we do not check the status after _cairo_output_stream_printf
    and _cairo_memory_stream_copy (which are more common operations)
    anyway.
    
    This simplifies the code, but keeps it correct, as the status
    will be propagated anyway, just a bit later.

 src/cairo-error-private.h |  4 ++--
 src/cairo-svg-surface.c   | 39 +--------------------------------------
 2 files changed, 3 insertions(+), 40 deletions(-)

commit 170fa0f9bb66198bb2f6aeb9d29cc7a5234a1183
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 21:27:24 2021 +0200

    Fix using signed types where unsigned ones were needed

 src/cairo-image-info-private.h |  2 +-
 src/cairo-image-info.c         |  2 +-
 src/cairo-svg-surface.c        | 19 +++++++++----------
 3 files changed, 11 insertions(+), 12 deletions(-)

commit 7ade55ac5b95a989e81d3bb58e34472d76d01a62
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 01:33:43 2021 +0200

    Add new SVG filters system

 src/cairo-svg-surface.c | 98 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 65 insertions(+), 33 deletions(-)

commit b340dc19f2a962071291358b861898650cd1b075
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 01:01:08 2021 +0200

    Fix emitting black background for color-only non-bounded SVG surfaces

 src/cairo-svg-surface.c | 50 +++++++++++++++++++++++++++----------------------
 1 file changed, 28 insertions(+), 22 deletions(-)

commit fa5179e9fd7362692f8fc421f4977dc18924c515
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Thu Apr 8 00:56:19 2021 +0200

    Add a test with operator samples from https://cairographics.org/operators/

 test/Makefile.sources |   1 +
 test/meson.build      |   1 +
 test/operator-www.c   | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 169 insertions(+)

commit 170f8812fb0b186ea705b23e3cb794a9323c229f
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 6 18:20:49 2021 +0200

    Add a test for #361

 test/Makefile.sources          |   1 +
 test/bug-361.c                 | 111 +++++++++++++++++++++++++++++++++++++++++
 test/meson.build               |   1 +
 test/reference/bug-361.ref.png | Bin 0 -> 587 bytes
 4 files changed, 113 insertions(+)

commit 9563d6b66169785de215e7b4291a137c0b0ce06d
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Tue Apr 6 18:20:30 2021 +0200

    Ignore .idea, compile_commands.json and /build

 .gitignore | 3 +++
 1 file changed, 3 insertions(+)

commit 18c0196414ede7137886a588f95af99b5591622b
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Nov 13 19:23:37 2020 +0100

    Fix generating syntactically invalid SVG files

 src/cairo-svg-surface.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 8c08f499bd52d79d0ee13be5050d134e97e2211b
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Fri Nov 13 17:23:13 2020 +0100

    Fix problems in the SVG backend related to outputting surfaces and patterns
    
    Now the SVG surface should work correctly work with bounded and unbounded image (-like) and recording surfaces with NONE and REPEAT extends as source for all operations.
    
    Fill or stroke with an unbounded surface as source now means using clip or mask respectively.
    
    Fix using unitialized memory in the SVG surface.
    
    Also fix unintialized memory and working with offsetted images in the recording surface.

 src/cairo-gstate.c                |  15 +-
 src/cairo-output-stream-private.h |   3 +
 src/cairo-output-stream.c         |  10 ++
 src/cairo-recording-surface.c     |   4 +
 src/cairo-svg-surface-private.h   |   2 -
 src/cairo-svg-surface.c           | 303 ++++++++++++++++++++++++++++----------
 6 files changed, 260 insertions(+), 77 deletions(-)

commit 277a1daec80cb6cf7bfb0e200cf78e7842cb2f82
Merge: 26663cf3b 1484cfa55
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Apr 11 16:35:03 2021 +0000

    Merge branch 'type1_find_segments_bounds_check' into 'master'
    
    Fix out of bounds access in cairo_type1_font_subset_find_segments
    
    See merge request cairo/cairo!146

commit 1484cfa55146cf6c77f8ad60911f999ead0c12ff
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 11 16:35:02 2021 +0000

    Fix out of bounds access in cairo_type1_font_subset_find_segments
    
    This function parses some raw font data and it trusts the font to be
    well-formed. This means that a font can just say "this segment is a
    gigabyte large" and the code will happily jump ahead in memory. Bad
    things then happen in practice.
    
    Fix this by adding lots of bounds check.
    
    Also, an existing bounds check makes sure we are still before the end of
    the data, but then happily reads the next six bytes. Fix this by making
    sure we actually have six bytes of data.
    
    No regression test since the last few times I tried to do this for font
    issues, I ended up with a large/huge blob of font data. Too large for
    the test suite.
    
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27969
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-type1-subset.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

commit 26663cf3be1d7f67b49aa02428d7e303b7286f98
Merge: 1904d7bf3 3ca8a46ca
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Apr 11 05:37:49 2021 +0000

    Merge branch 'fix_obvious_ub' into 'master'
    
    Fix undefined left-shifts
    
    See merge request cairo/cairo!149

commit 3ca8a46cafec95965d8d4fa3657dc95965488c6c
Author: Heiko Lewin <hlewin@worldiety.de>
Date:   Sun Apr 11 02:07:10 2021 +0200

    Minor corrections

 .gitignore                         | 2 --
 src/cairo-box-inline.h             | 2 +-
 src/cairo-image-compositor.c       | 2 +-
 src/cairo-xlib-render-compositor.c | 2 +-
 4 files changed, 3 insertions(+), 5 deletions(-)

commit cd2b91c62ea74f6448a8a5cff5dd316f8e692e97
Author: Seungha Yang <seungha@centricular.com>
Date:   Sun Apr 4 15:52:15 2021 +0900

    atomic: Add support for WIN32 atomic operations
    
    Windows provides atomic operation APIs so use it

 src/cairo-atomic-private.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit 1904d7bf35099f775d68cb7203a34ac7a4e72514
Merge: 44f808fce d2a37ba60
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Apr 2 13:43:39 2021 +0000

    Merge branch 'fix-467' into 'master'
    
    Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax
    
    Closes #467
    
    See merge request cairo/cairo!150

commit d2a37ba60e042b72b3db0bf7e314a2774bc5a232
Author: Marc Jeanmougin <marc@jeanmougin.fr>
Date:   Mon Mar 29 12:20:31 2021 +0200

    Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax
    
    Fixes https://gitlab.freedesktop.org/cairo/cairo/-/issues/467

 src/cairo-bentley-ottmann.c | 2 +-
 src/cairo-line-private.h    | 2 +-
 src/cairo-line.c            | 3 ++-
 src/cairo-traps.c           | 2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)

commit 753ea90ac11a74f656b36378f20ed9895bc1c9a0
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Feb 6 16:29:00 2021 +0100

    Add a test case for commit d07fb410568423
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/Makefile.sources                   |   1 +
 test/meson.build                        |   1 +
 test/record-write-png.c                 | 136 ++++++++++++++++++++++++++++++++
 test/reference/record-write-png.ref.png | Bin 0 -> 101 bytes
 4 files changed, 138 insertions(+)

commit 518ba137794243d1024634449a3e07f72b7b888e
Author: Heiko Lewin <hlewin@worldiety.de>
Date:   Wed Mar 31 12:20:34 2021 +0200

    Fix undefined left-shifts

 .gitignore                          | 2 ++
 src/cairo-base85-stream.c           | 2 +-
 src/cairo-beos-surface.cpp          | 2 +-
 src/cairo-box-inline.h              | 2 +-
 src/cairo-cff-subset.c              | 2 +-
 src/cairo-gl-gradient.c             | 6 +++---
 src/cairo-gl-shaders.c              | 2 +-
 src/cairo-image-compositor.c        | 4 ++--
 src/cairo-image-mask-compositor.c   | 2 +-
 src/cairo-png.c                     | 4 ++--
 src/cairo-truetype-subset-private.h | 2 +-
 src/cairo-type1-subset.c            | 8 ++++----
 src/cairo-vg-surface.c              | 2 +-
 src/cairo-xcb-surface-render.c      | 2 +-
 src/cairo-xlib-render-compositor.c  | 2 +-
 src/cairo-xlib-source.c             | 4 ++--
 src/cairo-xlib-surface.c            | 2 +-
 src/cairoint.h                      | 2 +-
 src/drm/cairo-drm-i915-private.h    | 4 ++--
 src/drm/cairo-drm-i915-shader.c     | 4 ++--
 src/drm/cairo-drm-i965-shader.c     | 2 +-
 src/win32/cairo-win32-font.c        | 2 +-
 22 files changed, 33 insertions(+), 31 deletions(-)

commit 44f808fce9f437e14f2b0ef4e1583def8ab578ae
Merge: 33cce5dc3 e5b9d96f2
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Mar 25 15:51:32 2021 +0000

    Merge branch 'use-after-scope' into 'master'
    
    Avoid a use-after-scope
    
    Closes #453
    
    See merge request cairo/cairo!143

commit 33cce5dc376a7138870a3c9dc56e5a92d973621c
Merge: c48ea2737 2f25fa68c
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Mar 25 15:51:13 2021 +0000

    Merge branch 'pdf-mime-data' into 'master'
    
    "Fix" the pdf-mime-data test
    
    See merge request cairo/cairo!142

commit c48ea2737c0b7a5c46ea3256b5516fe0d2be62a0
Merge: 5090dc3f4 57068e62a
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Mar 25 15:50:44 2021 +0000

    Merge branch 'serial-test-harness' into 'master'
    
    Use the serial automake test harness
    
    See merge request cairo/cairo!138

commit 5090dc3f4af6ff7a47f2da6162316e7c3e8962d6
Merge: f5a4ec8ad 446d3972e
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Mar 25 15:50:22 2021 +0000

    Merge branch 'flush-in-tests' into 'master'
    
    test suite: fflush() before fork()
    
    See merge request cairo/cairo!139

commit f5a4ec8adabaa5429bc8fc2e98d4cdb314208969
Merge: 104dfd8b0 433d9eb10
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Mar 25 15:49:50 2021 +0000

    Merge branch 'mime-unique-id' into 'master'
    
    Fix the mime-unique-id test for me
    
    See merge request cairo/cairo!141

commit 104dfd8b04908e1595dbdb40cb45a5d32e357e73
Merge: f604b4ba9 b40b1afae
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Mon Mar 22 11:22:09 2021 +0000

    Merge branch 'ci-bump-windows-image' into 'master'
    
    ci: bump windows image to latest version to fix github ssl certificate issues
    
    See merge request cairo/cairo!148

commit b40b1afaeccaff8bce4003c8b6ef196b904299ed
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Mar 20 15:58:02 2021 +0000

    ci: bump windows image to latest version to fix github ssl certificate issues

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f604b4ba9250d584fcd0cc7cf1cf1e58ab692be7
Merge: b718dae71 2af4412aa
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Wed Mar 10 16:57:08 2021 +0000

    Merge branch 'gyf-table-leak' into 'master'
    
    Fix a leak in an error path
    
    See merge request cairo/cairo!144

commit b718dae717fc0920eeaf16cfc226af6fe15fac27
Merge: 7788000be ca478e032
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Mar 9 19:08:29 2021 +0000

    Merge branch 'meson-make-cairo-trace-executable' into 'master'
    
    meson: make cairo-trace executable
    
    Closes #462
    
    See merge request cairo/cairo!145

commit ca478e03270868d9380f7372df25a0f3357430a4
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Mar 9 10:59:57 2021 +0000

    meson: make cairo-trace executable
    
    Install with exec flag set and make sure tool is
    executable in build directory as well (by making
    the input file in the source directory executable).
    
    Fixes #462

 util/cairo-trace/cairo-trace.in | 0
 util/cairo-trace/meson.build    | 1 +
 2 files changed, 1 insertion(+)

commit 2af4412aa3702c88da21c1265d9342a46190e078
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Mar 9 11:14:09 2021 +0100

    Fix a leak in an error path
    
    Tested with valgrind. Before this patch, I got the following "definitely
    lost" entry, which is gone afterwards:
    
    94,416 bytes in 1 blocks are definitely lost in loss record 427 of 427
       at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
       by 0x4B053F8: cairo_truetype_font_write_glyf_table (cairo-truetype-subset.c:625)
       by 0x4B06219: cairo_truetype_font_generate (cairo-truetype-subset.c:991)
       by 0x4B06917: cairo_truetype_subset_init_internal (cairo-truetype-subset.c:1159)
       by 0x4B06D72: _cairo_truetype_subset_init_pdf (cairo-truetype-subset.c:1255)
       by 0x4B6B113: _cairo_pdf_surface_emit_truetype_font_subset (cairo-pdf-surface.c:5892)
       by 0x4B6C2AD: _cairo_pdf_surface_emit_unscaled_font_subset (cairo-pdf-surface.c:6366)
       by 0x4B02FC7: _cairo_sub_font_collect (cairo-scaled-font-subsets.c:741)
       by 0x4B03A7A: _cairo_scaled_font_subsets_foreach_internal (cairo-scaled-font-subsets.c:1062)
       by 0x4B03B21: _cairo_scaled_font_subsets_foreach_unscaled (cairo-scaled-font-subsets.c:1090)
       by 0x4B6C3ED: _cairo_pdf_surface_emit_font_subsets (cairo-pdf-surface.c:6412)
       by 0x4B62B1A: _cairo_pdf_surface_finish (cairo-pdf-surface.c:2222)
    
    To reproduce, run the test case from the below link.
    
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28023
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-truetype-subset.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit e5b9d96f22d5a0bdb27d0aafdd7f95d1d9ffbd67
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Mar 9 07:53:50 2021 +0100

    Avoid a use-after-scope
    
    This is the same fix as commit b345be5afee, but in a different place in
    the same file.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/453
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-spans-compositor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2f25fa68c0d59c3ed3577e0e85b745985467c6fd
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 8 17:31:37 2021 +0100

    test/pdf-mime-data.c: Check for pdfimages
    
    Currently, the pdf-mime-data check just fails for me with the following
    output:
    
        sh: 1: pdfimages: not found
        pdf-mime-data: FAIL
    
    pdf-mime-data.log contains:
    
        pdfimages failed with exit status 32512
    
    Since I do not have pdfimages installed... yeah.
    
    This commit "fixes" that problem by skipping the test if pdfimages is
    not available. No idea if it would pass if it were available, but I do
    not feel like installing pdfimages just to test.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/pdf-mime-data.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 2a8d90c6fce458151f7bd3982fcaa964c4f72195
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 8 17:27:52 2021 +0100

    pdf-mime-data: Fix for out-of-tree builds
    
    This makes the code use the existing helper for loading PNGs that also
    considers the $srcdir environment variable. This makes it find the file
    in out of tree builds.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/pdf-mime-data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0c64c216aaf44d476637879d998fef96f0164762
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 8 17:26:50 2021 +0100

    pdf-mime-data: Fix error checking
    
    I am not quite sure, but an if for "ignore this error if something
    failed" seems wrong. Either this should have compared against status2 or
    checked for success. This commit fixes the code for the latter.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/pdf-mime-data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 433d9eb10937b2025c3dd2b63988bb01d470cc95
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 8 16:30:33 2021 +0100

    Update the PDF size limit in mime-unique-id
    
    The test mime-unique-id checks that some images are only embedded once
    in a PDF. It does so by checking if the file size is within some
    expected bounds. However, the test fails for me because the file is too
    small. Yes, too *small*.
    
    Fix this by updating the test to expect my current file size.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/mime-unique-id.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0fd2197e2b3e7deb1e5e1014e907dbeddac6f481
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 8 16:28:51 2021 +0100

    test/mime-unique-id: Fix for out-of-tree builds
    
    Instead of failing because it did not find an image, this now fails for
    me since the PDF is too small (???).
    
    This new code is modelled after cairo_test_create_surface_from_png().
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/mime-unique-id.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

commit 446d3972e53dbbaf7dbd47768cbc189a98df1ba5
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 8 13:28:41 2021 +0100

    test suite: fflush() before fork()
    
    Forking a process also duplicates the buffers of FILE*s. Thus, if there
    is pending data, both the parent and the child process will write
    things. This is seldom a good idea.
    
    This issue was not noticed so far since by default the test suite
    already calls fflush() a lot. However, when stdout and stderr are both
    not a tty (according to isatty(1) and isatty(2)), these flushes are
    skipped. The result is that the child process repeat the full output
    from the test suite starting with "Compiled against cairo 1.17.4,
    running on 1.17.4."
    
    To reproduce this problem run: ./cairo-test-suite 2>&1 | cat
    
    Fix this by flushing all the files that I managed to find before fork().
    
    Thanks to Pekka Paalanen for helping me figure this out.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/cairo-test-runner.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 7788000be0551c5cc77057db775f316f9f0e7f29
Merge: 71ece6d14 1bec56ea8
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Mar 5 08:08:55 2021 +0000

    Merge branch 'meson-allow-skipping-of-run-check-for-ipc-rmid-deferred-release-in-cross-build' into 'master'
    
    meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE
    
    Closes #408
    
    See merge request cairo/cairo!134

commit 71ece6d14909aa795aa9f424c8411694c3136eda
Merge: d847f1d62 921cc3e57
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Mar 4 11:09:29 2021 +0000

    Merge branch 'alatiera/exclude-artifacts' into 'master'
    
    ci: cleanup the autotools artifacts a bit
    
    Closes #465
    
    See merge request cairo/cairo!137

commit 921cc3e57adc2e71bb19bd81cc1d5b9b0f7a6b36
Author: Jordan Petridis <jordan@centricular.com>
Date:   Thu Mar 4 03:56:12 2021 +0200

    ci: cleanup the autotools artifacts a bit
    
    Exclude .trace and .cs file from being exported.
    This brings down the generated artifacts size to 73mb.
    
    Close #465

 .gitlab-ci.yml | 3 +++
 1 file changed, 3 insertions(+)

commit 57068e62a5b1bf1f45a0b05858d0b8fa95730c0b
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Mar 4 08:10:10 2021 +0100

    Use the serial automake test harness
    
    Once upon a time, automake had one way to run tests. Apparently this is
    (nowadays?) called the serial test harness. Then, in some release (I do
    not remember which one), the parallel test harness became the default.
    
    The parallel harness runs all tests in parallel, but does not (really)
    show the test output, but instead has output redirected to files. Sort
    of. I did not find the result of my printf() anywhere.
    
    The automake docs strongly discourage using the serial test harness [0],
    but do not really say why. For cairo, I do not see problems:
    
    We have some quick, small checks (e.g. is cairo_public used where needed
    in the public headers). And then there is the big, heavy-weight test
    suite (cairo-test-suite). Thus, running these things in parallel has
    basically no benefits.
    
    Additionally, cairo-test-suite takes really, really long. Not seeing any
    output while it is running is annoying. Failing to find the output even
    in files is bad.
    
    Thus, since I do not see any benefits and only downsides to the parallel
    test harness, this commit switches to the serial one.
    
    [0]: https://www.gnu.org/software/automake/manual/html_node/Serial-Test-Harness.html
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d847f1d6219b74b544b6a4438ec49ddbeb6b665b
Merge: 553c19df1 55a595174
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Mon Mar 1 14:10:04 2021 +0000

    Merge branch 'spectre-dep' into 'master'
    
    meson: Move libspectre to test_deps
    
    Closes #425
    
    See merge request cairo/cairo!135

commit 55a5951742ca5a1e90d1e53aeb46ff346e33b76f
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Mar 1 14:06:02 2021 +0100

    meson: Move libspectre to test_deps
    
    libspectre is only used for ps tests. Adding it to "deps" needlessly
    makes it show up in cairo.pc's Requires.private.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/425
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1bec56ea8a931e1ae1c74cc740134497ec365267
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 25 10:52:45 2021 +0000

    meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE
    
    The run check is particularly annoying in cross-compile scenarios,
    so allow bypassing the check by having the user provide the value
    via a cross file or native file:
    
      [properties]
      ipc_rmid_deferred_release = true
    
    Closes #408

 meson.build | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

commit 553c19df16bbc42e8e3dab04bd5f335600b717f4
Merge: 8d2f3f4af 3468c67fe
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Feb 25 06:57:31 2021 +0000

    Merge branch 'meson-add-option-to-disable-xlib-xcb' into 'master'
    
    meson: add xlib-xcb option and disable by default
    
    Closes #438
    
    See merge request cairo/cairo!132

commit 3468c67fe91f0c37e0ec5d335082653a6fa609b6
Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Date:   Thu Feb 25 01:27:10 2021 +0000

    meson: add xlib-xcb option and disable by default
    
    Just like autotools does.
    
    Closes #438.

 meson.build       | 3 +--
 meson_options.txt | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 8d2f3f4afcbf55e58328fd8a4b1f4840737a7a4f
Merge: 784be5d85 9732f4e80
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Feb 24 15:14:45 2021 +0000

    Merge branch 'meson-force-utf8-file-encoding-in-scripts' into 'master'
    
    meson: use encoding=utf-8 when reading/writing files in helper script
    
    See merge request cairo/cairo!129

commit 784be5d859b75b58909752d639d4f43b35556b7b
Merge: d85738b39 f7ac4181d
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Wed Feb 24 14:27:54 2021 +0000

    Merge branch 'alatiera/cairo-header' into 'master'
    
    meson: declare dependancy on libcairo_dep for overrides
    
    See merge request cairo/cairo!130

commit f7ac4181d683b0707c89cfd5a4c3e33b1e313068
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Wed Feb 24 02:57:37 2021 +0200

    meson: declare dependancy on libcairo_dep for overrides
    
    When declaring a dependency on a feature, say `dependency('cairo-png')`
    the resulting object did not depend on cairo and thus was missing
    basic things like, `cairo.h` from its include dir.
    
    Make it so overrides do in fact include the basic cairo functionality
    needed for them to work.
    
    Related:
    https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/236

 meson.build | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 9732f4e80f906fab85b97ae55ee44bfd3ee4945e
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Feb 23 23:42:11 2021 +0000

    meson: use encoding=utf-8 when reading/writing files in helper script
    
    Fixes errors such as
    
    Traceback (most recent call last):
      File "C:\Users\...\cairo\test\make-cairo-test-constructors.py", line 19, in <module>
        for l in f.readlines():
      File "c:\python39\lib\encodings\cp1253.py", line 23, in decode
        return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 6694: character maps to <undefined>
    
    on non-English-language Windows locales/installations.

 boilerplate/make-cairo-boilerplate-constructors.py | 4 ++--
 test/make-cairo-test-constructors.py               | 4 ++--
 version.py                                         | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit d85738b39c2fe01ec09b83d2e1b88fa918939a01
Merge: d6c1787ac 0ed1053d8
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Feb 23 13:19:00 2021 +0000

    Merge branch 'utils-cairo-trace-update-for-new-bfd' into 'master'
    
    cairo-trace: fix build with newer bfd and remove backtrace-symbols.c
    
    Closes #391 and #460
    
    See merge request cairo/cairo!128

commit 0ed1053d8f9751d20b313491adc0117b8addd804
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Feb 23 12:12:47 2021 +0000

    utils: remove hacky replacement for backtrace_symbols in glibc
    
    Doesn't build any more, is very much non-essential, and hasn't
    been touched in any meaningful way since it was added 13 years
    ago, so just remove it for now until someone steps up. Chances
    are the glibc version has improved since then.

 util/Makefile.am         |   8 +-
 util/README              |  23 ---
 util/backtrace-symbols.c | 377 -----------------------------------------------
 util/meson.build         |   2 -
 4 files changed, 2 insertions(+), 408 deletions(-)

commit e30259f6237571c61992433c110bc6e1ef900244
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Feb 23 11:36:24 2021 +0000

    cairo-trace: fix build with newer versions of bfd
    
    And update configure/meson checks to check for the new function.
    
    Drop libiberty.h check since it's only needed by backtrace-symbols.c
    which we're about to remove.
    
    Closes #391, #460

 Makefile.am                        |  1 +
 configure.ac                       |  8 +++++++-
 meson-cc-tests/bfd-section-flags.c |  9 +++++++++
 meson.build                        | 11 ++++++-----
 util/cairo-trace/lookup-symbol.c   |  7 +++----
 5 files changed, 26 insertions(+), 10 deletions(-)

commit d6c1787ac1a705f129f3d56b6058f02129535796
Merge: 9e84988f4 e0cf7b869
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Feb 23 11:33:45 2021 +0000

    Merge branch 'meson-symbol-lookup-option' into 'master'
    
    meson: add symbol-lookup option to allow disabling bfd/libiberty usage
    
    See merge request cairo/cairo!127

commit e0cf7b869fb1c6b73cf4a9aad2fc8aea4ff1f6ee
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Feb 23 10:33:23 2021 +0000

    meson: add symbol-lookup option to allow disabling bfd/libiberty usage
    
    Can be used to workaround build issues caused by changes
    in the bfd API until those have been resolved.
    
    https://gitlab.freedesktop.org/cairo/cairo/-/issues/460
    https://gitlab.freedesktop.org/cairo/cairo/-/issues/391

 meson.build       | 10 ++++------
 meson_options.txt |  2 ++
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 9e84988f411b78786d8da2f8cb013e80fa7a98e0
Merge: 1569dcd4d ee4329927
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Feb 21 16:09:28 2021 +0000

    Merge branch 'fix-448-test' into 'master'
    
    Make the test case for bug 448 pass
    
    See merge request cairo/cairo!123

commit 1569dcd4d8a2235052aa227dc9f5708cccaea23e
Merge: c62c43a8c 967ac9378
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Feb 21 16:01:41 2021 +0000

    Merge branch 'ubsan-fixes' into 'master'
    
    UBSan fixes in cairo-truetype-subset.c
    
    See merge request cairo/cairo!124

commit 967ac93789b1ce4e3f950f8eb6bc563ad91abeab
Author: Jonathan Kew <jfkthame@googlemail.com>
Date:   Sun Feb 21 16:01:40 2021 +0000

    Don't call _cairo_array_append_multiple with a zero count.
    
    The documentation for _cairo_array_append_multiple says "one or more items".
    If it is called with num_elements=0, it ends up calling _cairo_array_grow_by
    with num_elements=0, which if the array is currently empty (as here) leads
    to undefined behavior in _cairo_array_allocate in the line
    
        *elements = array->elements + array->num_elements * array->element_size;
    
    because it ends up trying to add 0 to a null pointer. C doesn't allow this.
    (UBSan flags this as "applying zero offset to null pointer".)

 src/cairo-array.c           |  5 +++++
 src/cairo-truetype-subset.c | 22 ++++++++++------------
 2 files changed, 15 insertions(+), 12 deletions(-)

commit c62c43a8c653f5e4d20ef868065d4f882df9768e
Merge: f4e43b682 ac616c270
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Feb 21 15:50:34 2021 +0000

    Merge branch 'pdf-tag-leak' into 'master'
    
    Fix a memory leak with cairo_tag_begin() + pdf
    
    See merge request cairo/cairo!126

commit f4e43b6822ec73f2fd8046859315e5d2a5709bf5
Merge: 79b539fab a3b69a021
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sun Feb 21 15:49:06 2021 +0000

    Merge branch 'pdf-font-names' into 'master'
    
    pdf font subset: Generate valid font names
    
    Closes #449
    
    See merge request cairo/cairo!125

commit 79b539fabbf8bdf0fb37852dba3d2f00e7f6fe88
Merge: 92fa42126 917a1eddb
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Feb 20 15:28:05 2021 +0000

    Merge branch 'ci-update-macos-image' into 'master'
    
    ci: update macos tags for newer vm image
    
    See merge request cairo/cairo!121

commit 917a1eddb4f8bbad076c7fc69ce185c85662a81f
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Feb 4 18:01:37 2021 +0000

    ci: update macos tags for newer vm image
    
    cf. https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/389

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 92fa421261bdb5d4c326c905f040907c1f580d48
Merge: 38a5c6036 848145251
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Feb 14 09:18:27 2021 +0000

    Merge branch 'small-build-system-fixes' into 'master'
    
    Small build system fixes
    
    See merge request cairo/cairo!111

commit ac616c270dbcfaf5a70aef97cf989407f757fcbe
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Feb 13 10:00:42 2021 +0100

    Fix a memory leak with cairo_tag_begin() + pdf
    
    The error paths in _cairo_pdf_interchange_begin_dest_tag() do not clean
    up and cause some memory to be leaked. Fix this by adding the necessary
    free()s.
    
    The first hunk, the missing free(dest) was found by oss-fuzz (see link
    below).
    
    The second hunk is an obvious follow up. It also cleans up the memory
    allocated by _cairo_tag_parse_dest_attributes().
    
    The cleanup in the second hunk is similar to the function
    _named_dest_pluck() in the same function, but that function also removes
    the entry from a hash table.  The error case here is that exactly this
    hash table insertion failed.  Thus, the code cannot simply use the
    already existing function.
    
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30880
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-pdf-interchange.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 38a5c6036881fd2fb9654127b6847467941482a1
Merge: 3894a1ab3 38e486b34
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Thu Feb 11 19:12:10 2021 +0000

    cairo-quartz-image-surface.c: Fix types

commit 38e486b34d435130f2fb38c429e6016c3c82cd53
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Thu Feb 11 19:12:10 2021 +0000

    cairo-quartz-image-surface.c: Fix types

 src/cairo-quartz-image-surface.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit a3b69a0215fdface0fd5730872a4b3242d979dca
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Feb 9 16:54:35 2021 +0100

    pdf font subset: Generate valid font names
    
    A hash value is encoded in base 26 with upper case letters for font
    names.
    
    Commit ed984146 replaced "numerator = abs (hash);" with "numerator =
    hash;" in this code, because hash has type uint32_t and the compiler
    warned about taking the absolute value of an unsigned value.  However,
    abs() is actually defined to take an int argument. Thus, there was some
    implicit cast.
    
    Since numerator has type long, i.e. is signed, it is now actually
    possible to get an overflow in the implicit cast and then have a
    negative number. The following code is not prepared for this and
    produces non-letters when encoding the hash.
    
    This commit fixes that problem by not using ldiv() and instead using /
    and % to directly compute the needed values. This gets rid of the need
    to convert to type long. Since now everything works with uint32_t, there
    is no more chance for negative numbers messing things up.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/449
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-pdf-surface.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit ee43299276506c0d3a64531565d390dc8264b3ec
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Feb 6 16:40:48 2021 +0100

    Make the test case for bug 448 pass
    
    Someone apparently forgot to actually add the reference image. And also
    forgot to add the test to meson. Sigh.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/meson.build               |   1 +
 test/reference/bug-448.ref.png | Bin 0 -> 127 bytes
 2 files changed, 1 insertion(+)

commit 3894a1ab3322ce6c71c626daca814b4a7ac0d299
Merge: b29d0f3d5 fb017cc73
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Feb 5 15:01:07 2021 +0000

    Merge branch 'fix_path_precision' into 'master'
    
    test/path-precision.c: Correct initialization, error margin for comparisons
    
    See merge request cairo/cairo!120

commit fb017cc73a61ac3cb8d0fd32156febcbe78b1a7d
Author: Heiko Lewin <heiko.lewin@worldiety.de>
Date:   Thu Feb 4 01:39:15 2021 +0100

    test/path-precision.c: Correct initialization, error margin for comparisons

 test/path-precision.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

commit b29d0f3d582bbafdbac1bb0b21de3994296aedf6
Merge: 48194cf09 d07fb4105
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Wed Feb 3 23:52:56 2021 +0000

    Merge branch 'fix-recording-to-png' into 'master'
    
    recording-surface: Fix offset error
    
    See merge request cairo/cairo!118

commit d07fb4105684235dfbed8e1f9499f41a762967f6
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat Jan 30 17:57:14 2021 -0500

    recording-surface: Fix offset error
    
    When a recording surface with non-zero origin is
    saved to a png file, it gets cut off. Fix this by
    setting a device offset when acquiring the source
    image.

 src/cairo-recording-surface.c | 1 +
 1 file changed, 1 insertion(+)

commit 48194cf093d6eadf1a64f45d76b1fe001f467a05
Merge: ee90ce594 b345be5af
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jan 22 19:00:10 2021 +0000

    Merge branch 'fill-use-after-free' into 'master'
    
    Avoid use after free in cairo_fill
    
    See merge request cairo/cairo!116

commit ee90ce594678ff227a28cdf1d9b55b7c3494f49c
Merge: 76aed3a5e 36f5dee47
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Jan 22 18:36:33 2021 +0000

    Merge branch 'set-source-surface-leak' into 'master'
    
    Plug a memory leak in an error case
    
    See merge request cairo/cairo!115

commit b345be5afeee60c04414867ea6eb671793880ecd
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jan 22 13:28:44 2021 -0500

    Avoid a use-after-free
    
    asan was complaining that the limits struct goes out
    of scope before it is used via the pointer in the polygon struct,
    and it is right:
    
    ==386746==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffd3ccebdfc at pc 0x7f783d5eaaee bp 0x7ffd3cceba80 sp 0x7ffd3cceba70
    READ of size 4 at 0x7ffd3ccebdfc thread T0
        #0 0x7f783d5eaaed in _add_clipped_edge ../src/cairo-polygon.c:351
        #1 0x7f783d5ebba3 in _cairo_polygon_add_edge ../src/cairo-polygon.c:520
        #2 0x7f783d5ebc82 in _cairo_polygon_add_external_edge ../src/cairo-polygon.c:530
        #3 0x7f783d582149 in _cairo_filler_line_to ../src/cairo-path-fill.c:63
        #4 0x7f783d588d9c in _cairo_path_fixed_interpret ../src/cairo-path-fixed.c:831
        #5 0x7f783d582a44 in _cairo_path_fixed_fill_to_polygon ../src/cairo-path-fill.c:147
        #6 0x7f783d6204fe in _cairo_spans_compositor_fill ../src/cairo-spans-compositor.c:1151
        #7 0x7f783d5126de in _cairo_compositor_fill ../src/cairo-compositor.c:203
        #8 0x7f783d5571f9 in _cairo_image_surface_fill ../src/cairo-image-surface.c:1003
        #9 0x7f783d647f2f in _cairo_surface_fill ../src/cairo-surface.c:2424
        #10 0x7f783d52ebea in _cairo_gstate_fill ../src/cairo-gstate.c:1312
        #11 0x7f783d51cca4 in _cairo_default_context_fill ../src/cairo-default-context.c:1057
        #12 0x7f783d6812d6 in cairo_fill ../src/cairo.c:2421

 src/cairo-spans-compositor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 36f5dee473010a450ff49c1bc34bca9edd4ff539
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jan 22 12:24:30 2021 -0500

    Plug a memory leak in an error case
    
    GTK has a testcase that tests the error when creating
    an oversize image, and asan tells me that it triggers
    a memory leak in cairo:
    
    Direct leak of 160 byte(s) in 1 object(s) allocated from:
        #0 0x7f1122755667 in __interceptor_malloc (/lib64/libasan.so.6+0xb0667)
        #1 0x7f1120cc83e8 in _cairo_pattern_create_solid ../src/cairo-pattern.c:607
        #2 0x7f1120cc8487 in _cairo_pattern_create_in_error ../src/cairo-pattern.c:630
        #3 0x7f1120cc87cb in INT_cairo_pattern_create_for_surface ../src/cairo-pattern.c:736
        #4 0x7f1120c1f1c7 in _cairo_default_context_set_source_surface ../src/cairo-default-context.c:327
        #5 0x7f1120d8386a in INT_cairo_set_source_surface ../src/cairo.c:982
        #6 0x7f1121d005a2 in gdk_cairo_set_source_pixbuf ../gdk/gdkcairo.c:234
        #7 0x401427 in test_set_source_big_pixbuf ../testsuite/gdk/cairo.c:23

 src/cairo-default-context.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 76aed3a5e32fac8b47d42eb040569277dfcc496d
Merge: d909a7392 f0873222e
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Jan 21 16:39:15 2021 +0000

    Merge branch 'fix-autoconf' into 'master'
    
    Fix autoconf warnings for version 2.70
    
    See merge request cairo/cairo!113

commit d909a7392c0b8261e5c9b21a25742601931a5eef
Merge: f5d32c071 f271715f3
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Jan 19 16:34:49 2021 +0000

    Merge branch 'use_correct_variable' into 'master'
    
    Replace $have_png with $use_png
    
    See merge request cairo/cairo!88

commit f5d32c071f25604f60b38ba5fdc91ce226f9efc9
Merge: fa1b02d7e ba2afdcac
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 12:11:33 2021 +0000

    Merge branch 'fix_surface_ref' into 'master'
    
    Add missing call to cairo_surface_reference
    
    See merge request cairo/cairo!102

commit ba2afdcacf42eccf263b39efc77b85f3a65dcd74
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 12:11:33 2021 +0000

    cairo-quartz-image-surface.c: Add missing call to cairo_surface_reference (Thanks to Fred Bca)

 src/cairo-quartz-image-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4f4d89506f58a64b4829b1bb239bab9e46d63727
Author: Jehan <jehan@girinstud.io>
Date:   Tue Jan 19 12:42:31 2021 +0100

    src: do not override explicitly requested grayscale antialiasing.
    
    If CAIRO_ANTIALIAS_DEFAULT is selected and system is set to subpixel, it
    is perfectly normal to switch to CAIRO_ANTIALIAS_SUBPIXEL.
    But when the calling application specifically requested
    CAIRO_ANTIALIAS_GRAY then Cairo should honor the request.
    
    This is an issue we have had for years in GIMP, where text on images
    would render differently depending on the system the file is opened on.
    This is obviously not right as a graphics work should be system
    independant and allow the creator to decide if one wants a text to have
    grayscale or subpixel rendering (a settings which would stick when
    sharing the work file). Cairo should not override this.
    The CAIRO_ANTIALIAS_DEFAULT settings exists exactly for this (when we
    want Cairo to choose for us, in a system-dependant way); other settings
    are when we need system independance.
    
    Thanks to Adam Fontenot for initial investigations and tests on this and
    other contributors before this.

 src/cairo-ft-font.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit fa1b02d7e596ff33fc7c5a2decd4dd10bbd091ab
Merge: a88696ed1 99dc4bf4c
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 11:26:33 2021 +0000

    Merge branch 'fix_device_errors' into 'master'
    
    Fix device errors
    
    See merge request cairo/cairo!30

commit 99dc4bf4cedda6f8c71ce978a945b8f445d31105
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 11:26:33 2021 +0000

    Fix device errors for GLESv2 contexts
    Ignore GLerrors when re-selecting a (possibly deleted) GLprogram

 src/cairo-gl-info.c    | 42 +++++++++++++++++++++++++++++++++++++-----
 src/cairo-gl-shaders.c | 18 +++++++++++++++---
 2 files changed, 52 insertions(+), 8 deletions(-)

commit a88696ed1563351883a520941e7ab4d331c12d11
Merge: 01f38097a 4e02f705e
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 11:12:27 2021 +0000

    Merge branch 'extend-test-pdf-tagged-text' into 'master'
    
    Add tests for PDF metadata
    
    See merge request cairo/cairo!100

commit 01f38097a5eed340aab9d3e626864424482b34a5
Merge: d49d85581 81806c011
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 11:07:54 2021 +0000

    cairo-xlib: Check for maximum surface size

commit d49d8558199fb594a57bd84d386928aa8ebcfb7e
Merge: 941cddfa3 0134ac5a3
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 11:06:44 2021 +0000

    Merge branch 'win32-get-dc' into 'master'
    
    cairo_win32_surface_get_dc: Return NULL for error surfaces
    
    Closes #405
    
    See merge request cairo/cairo!106

commit 941cddfa39584e812d41b16fc80c67a2f9007658
Merge: d72ff7c18 4e2e876be
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Jan 19 10:48:52 2021 +0000

    'Fix' a NULL pointer 'dereference' in cairo-pdf-surface

commit f0873222ef39441e59d00fb62285b9014f344f30
Author: Heiko Lewin <heiko.lewin@worldiety.de>
Date:   Mon Jan 18 17:55:04 2021 +0100

    Fix autoconf warnings for version 2.70

 build/aclocal.cairo.m4    | 14 ++++----
 build/configure.ac.system | 86 ++++++++++++++++++++++++++---------------------
 configure.ac              | 15 ++++-----
 3 files changed, 61 insertions(+), 54 deletions(-)

commit 4e2e876be15b85a3ac94e8343e41d8fb9ae1fdf4
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Jan 17 20:59:58 2021 +0100

    'Fix' a NULL pointer 'dereference' in cairo-pdf-surface
    
    The expression &image_surface->base basically just casts the
    cairo_image_surface_t* to cairo_surface_t*. However, technically it is a
    NULL pointer dereference and UndefinedBehaviorSanitizer flags it as
    such:
    
    runtime error: member access within null pointer of type 'cairo_image_surface_t' (aka 'struct _cairo_image_surface')
    
    This commit fixes this by adding a NULL check.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-pdf-surface.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit d72ff7c18aea22fd92238608804782e4841564d2
Merge: 0224c7802 c47db9e36
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Jan 17 10:57:48 2021 +0000

    Merge branch 'autotools-dist-meson-subproject-wraps' into 'master'
    
    autotools: dist meson subproject wraps
    
    Closes #447
    
    See merge request cairo/cairo!91

commit 0224c7802fe637102a63361fce0618b530997ef8
Merge: 4258fbd3b e2ba2e00a
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Jan 17 08:24:00 2021 +0100

    Merge gitlab.freedesktop.org:pcpenpal/cairo

commit 4258fbd3b7accf053a383aa9356fe987d91a8751
Merge: f0fb05f3a 156cd3eaa
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jan 16 16:17:46 2021 +0100

    Merge tag '1.17.4'
    
    cairo 1.17.4 release
    
    We are not quite sure what happened, but the 1.17.4 tag and the master
    branch have different Git histories, but the same content. The merge
    commits are missing from the history of the tag. This merge is simply
    the result of "git merge 1.17.4".
    
    This fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/446

commit f0fb05f3a11e8ef949118676460ad4805b2f8ad6
Merge: 974791b4e 51d50621b
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Jan 16 11:37:21 2021 +0000

    Merge branch 'meson-only-build-helper-libs-if-needed' into 'master'
    
    meson: only build cairo-boilerplate and cairo-missing helper libs if needed
    
    See merge request cairo/cairo!110

commit 51d50621be80131334d6966d5c08bb5f635882ac
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Jan 15 18:47:08 2021 +0000

    meson: only build cairo-boilerplate and cairo-missing helper libs if needed
    
    Used by tests and the sphinx utility, which may or may not be built,
    and if they're not built we don't need to build those libs either.

 boilerplate/meson.build        | 2 ++
 util/cairo-missing/meson.build | 2 ++
 2 files changed, 4 insertions(+)

commit 81806c01112bc504d96d79f969f229e27625344f
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 13 16:36:33 2021 +0100

    cairo-xlib: Check for maximum surface size
    
    X11 use uint16_t for the width/height of things. Anything too large will
    be truncated when sending the request to the X11 server. This commit
    adds a size check to a function that did not check things and then later
    caused a segmentation fault.
    
    Not adding a test case because the test case from the below bug report
    allocates 3,5 GiB of memory, which I find too much for a test.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/414
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-xlib-private.h     | 2 ++
 src/cairo-xlib-surface-shm.c | 3 +++
 src/cairo-xlib-surface.c     | 2 --
 3 files changed, 5 insertions(+), 2 deletions(-)

commit 0134ac5a3d3599cf1f3da6ff286f67d3db43adfa
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 13 16:26:18 2021 +0100

    cairo_win32_surface_get_dc: Return NULL for error surfaces
    
    Surfaces from _cairo_surface_create_in_error() have no backend. This
    commit fixes a NULL pointer dereference in cairo_win32_surface_get_dc().
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/405
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/win32/cairo-win32-surface.c | 3 +++
 1 file changed, 3 insertions(+)

commit 974791b4eede7f2ff774b56dd90234ed2cd70311
Merge: e45875142 a7c49ec86
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Mon Jan 11 19:48:26 2021 +0000

    Merge branch 'fix-clear-nothing-to-do' into 'master'
    
    Fix _cairo_surface_paint not setting is_clear
    
    Closes #283
    
    See merge request cairo/cairo!104

commit e45875142fc5d0bb7968b150f379172130415342
Merge: 891468f19 66c991185
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Mon Jan 11 19:43:54 2021 +0000

    Merge branch 'snapshot-error-fixes' into 'master'
    
    Slightly improve dealing with error snapshots
    
    See merge request cairo/cairo!92

commit 891468f191cccc80b8e491318e0646a7fffa22bf
Merge: 21db0989d b1e81ee98
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Mon Jan 11 19:41:24 2021 +0000

    Merge branch 'font-parse-oob' into 'master'
    
    Add a bounds check to cairo_cff_font_read_fdselect()
    
    Closes #451
    
    See merge request cairo/cairo!103

commit 21db0989d7dd76b5ccecc46a6ff7b4401c49936d
Merge: 9508d25d6 be0f938e4
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Mon Jan 11 19:33:35 2021 +0000

    Merge branch 'debug-fix' into 'master'
    
    Apply small fix that was reported as an issue
    
    Closes #385
    
    See merge request cairo/cairo!105

commit be0f938e4ac4129c98740ce3c49adfd255a103fe
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jan 11 19:08:02 2021 +0100

    Apply small fix that was reported as an issue
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/385
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-scaled-font-subsets.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a7c49ec86117bdf1702f9118add187af2582455f
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jan 11 18:37:52 2021 +0100

    Fix _cairo_surface_paint not setting is_clear
    
    In commit 10e58a4a I changed the code in cairo-surface.c to avoid
    setting surface->is_clear = FALSE; in some situations where it was not
    necessary, because the operation did not actually modify anything (it
    returned CAIRO_INT_STATUS_NOTHING_TO_DO). However, that change
    accidentally also caused _cairo_surface_paint() not to set
    surface->is_clear = TRUE; in similar cases. That was unintended.
    
    This commit fixes that by always setting is_clear = TRUE when necessary,
    but keeps the optimisation of not setting is_clear = FALSE when not
    necessary.
    
    The connection to the below issue is that the issue happened with
    surfaces with width=0. Clearing such a surface with CAIRO_OPERATOR_CLEAR
    causes CAIRO_INT_STATUS_NOTHING_TO_DO and thus is_clear = TRUE was not
    set. This error was later caught by a failed assertion.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/283
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-surface.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 66c9911850257b2d42a6abf756baed16fe1ae9d5
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 26 16:09:16 2020 +0100

    Slightly improve dealing with error snapshots
    
    An error in _cairo_surface_snapshot_copy_on_write() results in a
    snapshot in an error state and the snapshot's ->target could now point
    to a surface from _cairo_surface_create_in_error(). These surfaces e.g.
    have ->backend == NULL. Thus, anything looking at ->backend->type now
    explodes. This commit deals with two places which caused segfaults in
    this situation.
    
    There is no test case for this, because
    _cairo_surface_snapshot_copy_on_write() really is not supposed to fail.
    
    Found-while-investigating: https://gitlab.freedesktop.org/cairo/cairo/-/issues/448
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-recording-surface.c | 5 +++++
 src/cairo-surface-snapshot.c  | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

commit b1e81ee98f532a7606e451c55033e42c5bfb517c
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 6 10:38:42 2021 +0100

    Add a bounds check to cairo_cff_font_read_fdselect()
    
    The code in cairo-cff-subset.c parses a binary format without seeming to
    bother much with verifying the data. The result is that poppler can be
    used to cause an out-of-bounds write in cairo_cff_font_read_fdselect()
    via a crafted font file. Fix this by adding the needed length check.
    
    The other code in the file also contains lots of similar things. Since I
    cannot really fix everything properly, I'll just fix the one instance
    that was found by a fuzzer.
    
    No testcase is added, because this depends on a broken font that is
    quite large. Adding something this big to the test suite does not seem
    sensible.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/451
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-cff-subset.c | 2 ++
 1 file changed, 2 insertions(+)

commit 9508d25d6ac228ec13b21b54df6aa6f22b8a95f3
Merge: 414d0aee1 a012540d9
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Wed Jan 6 21:57:21 2021 +0000

    Merge branch 'xml-requires-png' into 'master'
    
    autoconf: Reject --enable-xml --disable-png
    
    See merge request cairo/cairo!87

commit 414d0aee10d3917a10ae646deef46624fe26cf47
Merge: b80d26a06 a9ea73ae0
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 6 13:41:30 2021 +0000

    Merge branch 'fix-compiler-warnings-in-test-suite' into 'master'
    
    Fix compiler warnings in test suite
    
    See merge request cairo/cairo!98

commit b80d26a064a0b9ca749a0ed386c3f1da9fb7fcae
Merge: cb3618f76 d8d16562e
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 6 13:27:28 2021 +0000

    Merge branch 'meson-ci-macos' into 'master'
    
    meson: fix macOS build and add macOS ci
    
    Closes #441
    
    See merge request cairo/cairo!101

commit d8d16562ec094593eba4446432e918704590ab20
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Sep 26 19:25:21 2020 +0100

    meson: fix macOS build and add macOS ci
    
    Fixes #441

 .gitlab-ci.yml    | 26 ++++++++++++++++++++++++
 meson.build       | 61 ++++++++++++++++++++++++++-----------------------------
 meson_options.txt |  1 +
 3 files changed, 56 insertions(+), 32 deletions(-)

commit 4e02f705e498885ad7cdf1e18313e68b06b9228e
Author: Sven Neumann <sven@svenfoo.org>
Date:   Mon Jan 4 12:45:38 2021 +0100

    Add tests for PDF metadata
    
    Extend the "pdf-tagged-text" test so that it does some basic checks
    on the PDF file it creates. This covers the date fields as well as
    some other metadata. More checks can and should be added.

 test/pdf-tagged-text.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

commit cb3618f76d10c2e0cd1e6196ed79d4af4d7d5e44
Merge: 7ac8220c1 58b5aa270
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jan 4 15:47:29 2021 +0000

    Merge branch 'fix_memory_allocation' into 'master'
    
    Added checks for failed strdups in cairo-recording-surface.c
    
    See merge request cairo/cairo!99

commit 58b5aa2706ec95403b9fb6f364acd95c78ba6236
Author: Heiko Lewin <heiko.lewin@worldiety.de>
Date:   Mon Jan 4 16:16:15 2021 +0100

    Added checks for failed strdups in cairo-recording-surface.c

 src/cairo-recording-surface.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

commit 7ac8220c1fd4afb259e53b7a5cd93a23859bdbda
Merge: ed7e51eb4 a1dc600a0
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Mon Jan 4 15:12:38 2021 +0000

    Merge branch 'fix-copy-paste-error-in-recording-surfaces' into 'master'
    
    Fix copying tags in a recording surface
    
    Closes #448
    
    See merge request cairo/cairo!93

commit ed7e51eb410da324258acf5ae34f0c90dd16d2e8
Merge: b0ef04e2d 467e7822a
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Mon Jan 4 14:41:12 2021 +0000

    Merge branch 'font-oob' into 'master'
    
    Add a bounds check to cairo_cff_parse_charstring()
    
    Closes #444
    
    See merge request cairo/cairo!90

commit a9ea73ae0ccbac354b34673be214b6e581700c22
Author: Sven Neumann <sven@svenfoo.org>
Date:   Mon Jan 4 14:06:21 2021 +0100

    Fix compiler warnings in test suite
    
    Fix some enum mixups, mostly cairo_status_t vs cairo_test_status_t.

 test/cairo-test.c          | 20 ++++++++++----------
 test/partial-coverage.c    |  6 +++---
 test/show-glyphs-advance.c |  2 +-
 test/subsurface.c          |  4 ++--
 4 files changed, 16 insertions(+), 16 deletions(-)

commit b0ef04e2d5bc218c1504d70d2843532e353516f1
Merge: 0bf2c140d a7a9c1130
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jan 4 12:21:16 2021 +0000

    Merge branch 'meson-ci-android' into 'master'
    
    ci: add meson android aarch64 build
    
    See merge request cairo/cairo!96

commit a7a9c11309c757de362841866c4280882caa3cce
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Dec 31 18:47:25 2020 +0000

    ci: add meson android aarch64 build

 .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

commit 0bf2c140d2dc6521c6f925b1757f2d4809eabf18
Merge: 979382dd3 be61878a8
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Tue Dec 29 00:03:25 2020 +0000

    Merge branch 'uninitialised-var-in-recording' into 'master'
    
    Fix two uninitialised variables in _cairo_recording_surface_snapshot()
    
    See merge request cairo/cairo!95

commit be61878a8ed4123d00323b5c66826a4243cb823c
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Dec 27 21:35:16 2020 +0100

    Fix two uninitialised variables in _cairo_recording_surface_snapshot()
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-recording-surface.c | 2 ++
 1 file changed, 2 insertions(+)

commit a1dc600a07f89b9c08ffa8c25dc92f75fec10dd6
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 26 16:17:58 2020 +0100

    Fix copying tags in a recording surface
    
    The code was copying from the wrong member of an union. This caused a
    huge num_dashes value to be read, which then caused a so large memory
    allocation that malloc returned an error.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/448
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-recording-surface.c |  8 ++---
 test/Makefile.sources         |  1 +
 test/bug-448.c                | 76 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 81 insertions(+), 4 deletions(-)

commit c47db9e36c3f9fa92bdc0779de5bf2f26b4fe531
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Dec 25 19:27:28 2020 +0000

    autotools: dist meson subproject wraps
    
    Fixes #447

 Makefile.am | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 467e7822a975fa3ed740144cd849ab596ab30118
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Dec 25 16:09:19 2020 +0100

    Add a bounds check to cairo_cff_parse_charstring()
    
    The code in cairo-cff-subset.c parses a binary font format without
    seeming to bother much verifying the data. The result is that poppler
    can be used to cause an out-of-bounds access in
    cairo_cff_parse_charstring() via a crafted font file. Fix this by adding
    the needed length check.
    
    The other code in the file also contains lots of similar things. Since I
    cannot really fix everything properly, I'll just fix the one instance
    that was found by a fuzzer.
    
    No testcase is added, because this depends on a broken font that is
    quite large. Adding something this big to the test suite does not seem
    sensible.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/444
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-cff-subset.c | 2 ++
 1 file changed, 2 insertions(+)

commit 979382dd302bbab73d8c81740ddd72afc31a8ea8
Merge: c7b6c073e 2ceb279d7
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Dec 25 14:43:52 2020 +0000

    Merge branch 'boilerplate-leak' into 'master'
    
    boilerplate-xcb: Avoid leaks on error
    
    See merge request cairo/cairo!82

commit c7b6c073ea0e8cac32c4a34f99ffd502096f19a1
Merge: 78266cc8c eb75ce086
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Dec 25 14:43:14 2020 +0000

    Merge branch 'xcb-fix-clip-leak' into 'master'
    
    Fix a leak in cairo-xcb's render compositor
    
    Closes #24
    
    See merge request cairo/cairo!83

commit 78266cc8c0f7a595cfe8f3b694bfb9bcc3700b38
Merge: 8d7c08d93 0677e0a94
Author: Uli Schlachter <psychon@znc.in>
Date:   Thu Dec 24 08:33:04 2020 +0000

    Merge branch 'fix-437' into 'master'
    
    Fix mask usage in image-compositor
    
    See merge request cairo/cairo!85

commit 8d7c08d9345b80f6c4a6663ec4492e53c8f3eefa
Merge: 7b258a2fb ebbaebdec
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Dec 23 07:50:03 2020 +0000

    Merge branch 'csi' into 'master'
    
    meson: Generate cairo-script-interpreter.pc needed by GTK+
    
    See merge request cairo/cairo!70

commit ebbaebdec12878836fc84d31c59ee324e67abc05
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Fri Oct 16 19:52:55 2020 -0400

    meson: Generate cairo-script-interpreter.pc needed by GTK+

 build/configure.ac.features                                  |  4 +++-
 util/cairo-script/Makefile.am                                |  3 +++
 util/cairo-script/cairo-script-interpreter-uninstalled.pc.in |  8 ++++++++
 util/cairo-script/cairo-script-interpreter.pc.in             | 10 ++++++++++
 util/cairo-script/meson.build                                | 11 ++++++++++-
 5 files changed, 34 insertions(+), 2 deletions(-)

commit f271715f374083ebccc6d6b93fcef6c000d440b3
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 19 11:24:46 2020 +0100

    Replace $have_png with $use_png
    
    The remaining code in configure.ac also uses this variable.
    
    Reported-at: https://gitlab.freedesktop.org/cairo/cairo/commit/81102cc214814cac8c99fed08a877d8f38312e51#note_201221
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a012540d990f9baeccf8b7441c27a11acbc2a672
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 19 11:10:13 2020 +0100

    autoconf: Reject --enable-xml --disable-png
    
    The xml surface depends on png. Before this commit, configuring with
    autogen.sh --disable-png --disable-svg --enable-xml resulted in a
    failing build:
    
    src/cairo-xml-surface.c: In function ‘_cairo_xml_emit_image’:
    src/cairo-xml-surface.c:673:14: error: implicit declaration of function
    ‘cairo_surface_write_to_png_stream’
    
    After this commit, configure instead rejects this combination with:
    
    checking whether cairo's xml surface backend feature could be enabled... no (requires --enable-png)
    configure: error:  xml surface backend feature could not be enabled
    
    Noticed-at: https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/67#note_644347
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 configure.ac | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 84814525100eef921bfb5fe3b3bd23b30f42b573
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Dec 15 18:59:31 2020 +0100

    test/meson.build: Add missing tests
    
    These are entries that are present in test/Makefile.sources, but are
    missing from test/meson.build.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 3a77858dbd0295de3cd5d4f40ec98a759af6e9b5
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Dec 15 18:59:10 2020 +0100

    test/Makefile.sources: Use tabs for indentation
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 test/Makefile.sources | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0677e0a94968447e132c69f58cb04e5377e0c828
Author: Heiko Lewin <heiko.lewin@worldiety.de>
Date:   Tue Dec 15 18:14:35 2020 +0100

    Add meson support

 test/meson.build | 1 +
 1 file changed, 1 insertion(+)

commit 8bc14a6bba3bc8a64ff0749c74d9b96305bf6429
Author: Heiko Lewin <heiko.lewin@worldiety.de>
Date:   Tue Dec 15 17:14:18 2020 +0100

    Minor cleanups

 test/bug-image-compositor.c | 33 ++++++++++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

commit 03a820b173ed1fdef6ff14b4468f5dbc02ff59be
Author: Heiko Lewin <heiko.lewin@worldiety.de>
Date:   Tue Dec 15 16:48:19 2020 +0100

    Fix mask usage in image-compositor

 src/cairo-image-compositor.c                |   8 +++---
 test/Makefile.sources                       |   1 +
 test/bug-image-compositor.c                 |  39 ++++++++++++++++++++++++++++
 test/reference/bug-image-compositor.ref.png | Bin 0 -> 185 bytes
 4 files changed, 44 insertions(+), 4 deletions(-)

commit 7b258a2fb844059ef3f0b237d06311cf3efd8aba
Merge: e22d7212a e9ccb1d8d
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Dec 15 15:17:39 2020 +0000

    Merge branch 'libversion-fixup-match-autotools' into 'master'
    
    meson: fix library versioning
    
    Closes #442
    
    See merge request cairo/cairo!84

commit e9ccb1d8d095482e4139da658e679d5aad56b184
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Dec 15 00:12:55 2020 +0000

    meson: fix library versioning
    
    Fixes #442

 meson.build                    | 23 +++++++++++++++++++++--
 src/meson.build                |  4 ++--
 util/cairo-gobject/meson.build |  4 ++--
 util/cairo-script/meson.build  |  4 ++--
 4 files changed, 27 insertions(+), 8 deletions(-)

commit e22d7212acb454daccc088619ee147af03883974
Merge: f7054c892 dccaa9179
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Dec 11 14:14:24 2020 +0000

    Merge branch 'bigsur-use-after-free' into 'master'
    
    Ref and destroy the cairo surface handed off to CoreGraphics.
    
    Closes #420
    
    See merge request cairo/cairo!52

commit dccaa9179bcf08cb6909305de28c0495523339bc
Author: John Ralls <jralls@ceridwen.us>
Date:   Sat Dec 5 11:44:19 2020 -0800

    Quartz Better manage acquired/replayed surface.

 src/cairo-quartz-surface.c | 56 ++++++++++++++++++++++++++++++----------------
 1 file changed, 37 insertions(+), 19 deletions(-)

commit eb75ce0861b2f3dc753b8fa5653afc2f99948f0b
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 5 08:15:34 2020 +0100

    Fix a leak in cairo-xcb's render compositor
    
    The code here temporary replaces extents->clip with another clip to call
    a function. Afterwards, it restores the previous copy. The temporary
    clip is only freed when it still is pointed to by extents->clip.
    
    This logic is wrong. It is indeed possible that the clip is simplified
    and changes. In this case, the original clip is also correctly freed.
    However, this still means that we have to clean up and destroy the new
    clip. The previous code just leaked it.
    
    This was originally identified by Massimo in [1]. I am just committing
    his patch.
    
    [1]: https://bugs.freedesktop.org/show_bug.cgi?id=91267
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/24
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-xcb-surface-render.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 2ceb279d704840dacf6880b5bf2e168ede16097a
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 5 08:08:14 2020 +0100

    boilerplate-xcb: Avoid leaks on success
    
    This gets rid of the following two leaks reported by valgrind when successfully
    running a test with CAIRO_TEST_TARGET=xcb:
    
    8,000 bytes in 2 blocks are definitely lost in loss record 9 of 10
       at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
       by 0x4B7E135: read_packet (xcb_in.c:259)
       by 0x4B7E135: _xcb_in_read (xcb_in.c:1031)
       by 0x4B7BF8E: _xcb_conn_wait (xcb_conn.c:516)
       by 0x4B7D6AE: wait_for_reply (xcb_in.c:516)
       by 0x4B7D8C8: xcb_request_check (xcb_in.c:745)
       by 0x18D747: _cairo_boilerplate_xcb_create_surface (cairo-boilerplate-xcb.c:310)
       by 0x12906F: cairo_test_for_target (cairo-test.c:819)
       by 0x12AAB5: _cairo_test_context_run_for_target (cairo-test.c:1555)
       by 0x126921: _cairo_test_runner_draw (cairo-test-runner.c:250)
       by 0x126921: main (cairo-test-runner.c:932)
    
    8,000 bytes in 2 blocks are definitely lost in loss record 10 of 10
       at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
       by 0x4B7E135: read_packet (xcb_in.c:259)
       by 0x4B7E135: _xcb_in_read (xcb_in.c:1031)
       by 0x4B7BF8E: _xcb_conn_wait (xcb_conn.c:516)
       by 0x4B7D6AE: wait_for_reply (xcb_in.c:516)
       by 0x4B7D7C0: xcb_wait_for_reply (xcb_in.c:546)
       by 0x18D45D: find_depth (cairo-boilerplate-xcb.c:154)
       by 0x18D45D: _cairo_boilerplate_xcb_create_render_0_0 (cairo-boilerplate-xcb.c:621)
       by 0x12906F: cairo_test_for_target (cairo-test.c:819)
       by 0x12AAB5: _cairo_test_context_run_for_target (cairo-test.c:1555)
       by 0x126921: _cairo_test_runner_draw (cairo-test-runner.c:250)
       by 0x126921: main (cairo-test-runner.c:932)
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 boilerplate/cairo-boilerplate-xcb.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit e3eaccb939836386aa5f5895eea0da3e9863826c
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Dec 5 07:46:41 2020 +0100

    boilerplate-xcb: Avoid leaks on error
    
    Before this commit, running the test suite against a non-existing
    display under valgrind resulted in:
    
    $ ( cd test; DISPLAY=:2 CAIRO_TEST_TARGET=xcb valgrind --leak-check=full .libs/cairo-test-suite -f random-clip )
    [...]
    ==47359== 64 bytes in 2 blocks are definitely lost in loss record 1 of 7
    ==47359==    at 0x483AB65: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==47359==    by 0x18A272: cairo_boilerplate_xcalloc (cairo-boilerplate-system.c:65)
    ==47359==    by 0x18D652: _cairo_boilerplate_xcb_create_surface (cairo-boilerplate-xcb.c:269)
    ==47359==    by 0x12906F: cairo_test_for_target (cairo-test.c:819)
    ==47359==    by 0x12AAB5: _cairo_test_context_run_for_target (cairo-test.c:1555)
    ==47359==    by 0x126921: _cairo_test_runner_draw (cairo-test-runner.c:250)
    ==47359==    by 0x126921: main (cairo-test-runner.c:932)
    
    This commit fixes that by freeing the allocated memory in the error
    path.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 boilerplate/cairo-boilerplate-xcb.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 1ddfccca31e23820a30e8f618e216fe2931b49b2
Author: John Ralls <jralls@ceridwen.us>
Date:   Mon Nov 30 17:16:00 2020 -0800

    Quartz image drawing: Remove containers for cairo_surface_t.
    
    Since we now copy the data that CGImage needs we don't need to
    keep the surface around anymore, nor release it or the image in the
    DataProviderReleaseCallback.

 src/cairo-quartz-image-surface.c | 54 ++++++++++-----------------------
 src/cairo-quartz-surface.c       | 64 +++++++++++-----------------------------
 2 files changed, 34 insertions(+), 84 deletions(-)

commit b5e84a97833e8e1d082f4409383b09f9827ada09
Author: John Ralls <jralls@ceridwen.us>
Date:   Mon Nov 30 15:13:41 2020 -0800

    Quartz: Ensure that image data and surface are available to draw.
    
    Snapshot the cairo_surface_t and copy the image data to provide to
    the CGDataProvider so that it is independent of the cairo_surface_t's
    lifetime.
    
    Closes https://gitlab.freedesktop.org/cairo/cairo/-/issues/420

 src/cairo-quartz-image-surface.c | 49 +++++++++++++++++++++++++++++-----------
 src/cairo-quartz-surface.c       | 15 +++++++++---
 2 files changed, 48 insertions(+), 16 deletions(-)

commit 32c12c617a2551e1238e52c570bd5c42a6c0cbef
Author: John Ralls <jralls@ceridwen.us>
Date:   Mon Nov 30 14:10:18 2020 -0800

    Ensure _cairo_quartz_surface_create_internal always nulls imageSurfaceEquiv.

 src/cairo-quartz-surface.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit f7054c892e35a04180d586e8af2d4c62601308f1
Merge: 6a713391f 313f6fefc
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Nov 22 19:08:41 2020 +0000

    Merge branch 'meson-ci-fix' into 'master'
    
    ci: fix default options in meson ci
    
    See merge request cairo/cairo!80

commit 313f6fefc9f0882ba17880977369854d0b179f48
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sun Nov 22 18:44:20 2020 +0000

    ci: fix default options in meson ci
    
    Follow-up fix to !78

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6a713391fa4e90e998d8fd2bee248b8196501e62
Merge: 577477207 8913b6e2f
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Nov 21 13:48:13 2020 +0000

    Merge branch 'pdf-leak' into 'master'
    
    pdf: fix leak of source surfaces
    
    See merge request cairo/cairo!51

commit 8913b6e2fce42185c5ef8227be4d0b821d37f71d
Author: Félix Poisot <felix@lhfblc.fr>
Date:   Sat Nov 21 11:58:59 2020 +0000

    The array introduced in bff47b43 isn't cleared on surface finish

 src/cairo-pdf-surface.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 577477207a300fd75c93da93dbb233256d8b48d8
Merge: c1d489b47 08c76f4cb
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Nov 20 16:38:31 2020 +0000

    Merge branch 'trace_parse_fix' into 'master'
    
    cairo-trace: Fix escape character encoding in string literals
    
    See merge request cairo/cairo!72

commit 08c76f4cbf9503328e735fbeed5ca96004f580cc
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Mon Aug 31 22:15:21 2020 -0600

    cairo-trace: Fix escape character encoding in string literals
    
    This fixes a typo wherein both a return character and a tab character
    were encoded when only a return character was specified for encoding.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 util/cairo-trace/trace.c | 1 +
 1 file changed, 1 insertion(+)

commit c1d489b47404dcd48192b0adb0af87cda5618c2b
Merge: e3415a319 c86b90a01
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Nov 20 16:07:27 2020 +0000

    Merge branch 'empty-delta-arrays' into 'master'
    
    cff: Allow empty array of operands for certain operators
    
    See merge request cairo/cairo!39

commit c86b90a019487fb78c874062635621b8332ce4c2
Author: Marek Kasik <mkasik@redhat.com>
Date:   Fri Mar 27 19:39:46 2020 +0100

    cff: Allow empty array of operands for certain operators
    
    Operators BlueValues, OtherBlues, FamilyBlues, FamilyOtherBlues,
    StemSnapH and StemSnapV have operands of type delta which can be
    a number or an array of delta-encoded numbers. This array can be
    empty according to freetype developers.
    This commit checks whether current operator is among those listed
    and permits empty operand in such case.

 src/cairo-cff-subset.c | 78 +++++++++++++++++++++++++++++++-------------------
 1 file changed, 49 insertions(+), 29 deletions(-)

commit e3415a319dfde45cff4993cd861a3dde6a1b5d8e
Merge: fda1f07bd 6eb3c9d36
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Nov 20 15:20:41 2020 +0000

    Merge branch 'fix-iso8601_to_pdf_date_string' into 'master'
    
    Fix conversion from ISO 8601 to PDF date string
    
    Closes #392
    
    See merge request cairo/cairo!35

commit 6eb3c9d3647d626418317977f84c5b8ac29ec5af
Author: Sven Neumann <sven@svenfoo.org>
Date:   Tue Feb 11 11:24:16 2020 +0100

    Fix conversion from ISO 8601 to PDF date string
    
    The code used to unintentionally drop the minutes from the timezone
    offset, see issue #392. This is now fixed.

 src/cairo-pdf-interchange.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit fda1f07bdf8cc187eb81b0cb877e394ef74bdfaa
Merge: 3e5115fde 5d97c1285
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Nov 17 17:24:05 2020 +0000

    Merge branch 'meson-ci-require-gl-on-fedora' into 'master'
    
    ci: require opengl in meson fedora build
    
    See merge request cairo/cairo!79

commit e2ba2e00a97b9fc496d985572302ad57972a59d2
Author: Yongsu Park <pcpenpal@gmail.com>
Date:   Wed Mar 11 21:13:09 2020 +0900

    win32: Make font dc thread local

 src/cairo-mutex-list-private.h |  1 +
 src/win32/cairo-win32-font.c   | 18 +++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

commit 156cd3eaaebfd8635517c2baf61fcf3627ff7ec2
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Fri Nov 27 16:57:18 2020 -0800

    Release 1.17.4

 NEWS                | 40 ++++++++++++++++++++++++++++++++++++++++
 src/cairo-version.h |  2 +-
 2 files changed, 41 insertions(+), 1 deletion(-)

commit dfbc57f9a3b7036ed3a31ff47082c1331ae3e1a7
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Fri Nov 27 17:00:16 2020 -0800

    build: Update ssh url for cairographics.org

 build/Makefile.am.releasing | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5de0d6b97895364fe84a3a255a4bab1a9c140143
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sun Nov 22 18:44:20 2020 +0000

    ci: fix default options in meson ci
    
    Follow-up fix to !78

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9e9081a8f6745dcbacadf42d529b14fe86ab54b8
Author: Félix Poisot <felix@lhfblc.fr>
Date:   Sat Nov 21 11:58:59 2020 +0000

    The array introduced in bff47b43 isn't cleared on surface finish

 src/cairo-pdf-surface.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 825154fef78d6d0bd2fad4328a55ba95cafd12c0
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Mon Aug 31 22:15:21 2020 -0600

    cairo-trace: Fix escape character encoding in string literals
    
    This fixes a typo wherein both a return character and a tab character
    were encoded when only a return character was specified for encoding.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 util/cairo-trace/trace.c | 1 +
 1 file changed, 1 insertion(+)

commit 590122daa8f6daaf83ead7f16cb7adf732d25cd9
Author: Marek Kasik <mkasik@redhat.com>
Date:   Fri Mar 27 19:39:46 2020 +0100

    cff: Allow empty array of operands for certain operators
    
    Operators BlueValues, OtherBlues, FamilyBlues, FamilyOtherBlues,
    StemSnapH and StemSnapV have operands of type delta which can be
    a number or an array of delta-encoded numbers. This array can be
    empty according to freetype developers.
    This commit checks whether current operator is among those listed
    and permits empty operand in such case.

 src/cairo-cff-subset.c | 78 +++++++++++++++++++++++++++++++-------------------
 1 file changed, 49 insertions(+), 29 deletions(-)

commit c43ff33c43821c555756cc8281c9a2578c217723
Author: Sven Neumann <sven@svenfoo.org>
Date:   Tue Feb 11 11:24:16 2020 +0100

    Fix conversion from ISO 8601 to PDF date string
    
    The code used to unintentionally drop the minutes from the timezone
    offset, see issue #392. This is now fixed.

 src/cairo-pdf-interchange.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 5d97c12859fefca943e630ee5739ae5bf185099b
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Nov 17 16:55:47 2020 +0000

    ci: require opengl in meson fedora build
    
    Follow-up to !78

 .gitlab-ci.yml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 3e5115fde7086ffe2b73eab62d8b80c50f217f4a
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Nov 17 15:07:29 2020 +0000

    meson: align gl backend option defaults with autotools
    
    Disable gl backend by default, just like autotools does:
    
      --enable-gl=[no/auto/yes]
                              Enable cairo's OpenGL surface backend feature
                              [default=no]
      --enable-glesv2=[no/auto/yes]
                              Enable cairo's OpenGLESv2 surface backend feature
                              [default=no]
      --enable-glesv3=[no/auto/yes]
                              Enable cairo's OpenGLESv3 surface backend feature
                              [default=no]

 .gitlab-ci.yml    | 3 +++
 meson_options.txt | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 1a68c0bdfb63f8f7bb96e8a0bd577ca05e63936e
Author: Nirbheek Chauhan <nirbheek@centricular.com>
Date:   Mon Nov 16 20:14:18 2020 +0530

    libpng.wrap: Bump to latest version

 subprojects/libpng.wrap | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

commit b5175fd8a6c8ff555e0a127e3fe42cdad241aad1
Author: Anton Danilkin <afdw@yandex.ru>
Date:   Wed Nov 11 17:33:31 2020 +0100

    Fix testing in the full mode for PDF, PS and SVG backends
    
    Fix how offset, scale and transparency are handled.
    
    Also do the same change in the "win32-printing" backend as it has a copy of the code from PDS, PS and SVG backends.

 boilerplate/cairo-boilerplate-pdf.c            | 33 ++++++++++-------
 boilerplate/cairo-boilerplate-ps.c             | 50 ++++++++++++++++++--------
 boilerplate/cairo-boilerplate-svg.c            | 44 ++++++++++++++++-------
 boilerplate/cairo-boilerplate-win32-printing.c | 24 ++++++++-----
 4 files changed, 103 insertions(+), 48 deletions(-)

commit ab7b45feb701032c73ef0c190d963ee3ff76a815
Author: Nirbheek Chauhan <nirbheek@centricular.com>
Date:   Tue Nov 10 16:18:50 2020 +0530

    meson: Fix libpng fallback dependency variable
    
    The libpng subproject dependency variable name was wrong. It's
    libpng_dep:
    
    https://github.com/mesonbuild/libpng/blob/1.6.37/meson.build#L110

 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ed98414686ede45a4f2302b4521dece51acdb785
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Mon Aug 31 22:14:59 2020 -0600

    build: Fix various compiler warnings
    
    This fixes a few compiler warnings that were encountered with gcc 9.3.0.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 INSTALL                                    |   2 +-
 boilerplate/cairo-boilerplate-cogl.c       |   5 +-
 boilerplate/cairo-boilerplate-egl.c        |   2 -
 src/cairo-analysis-surface.c               | 110 ++++++++++++++++-------------
 src/cairo-base64-stream.c                  |   1 +
 src/cairo-ft-font.c                        |   1 +
 src/cairo-path-fixed.c                     |   2 +-
 src/cairo-path-stroke-polygon.c            |   2 +-
 src/cairo-path-stroke-traps.c              |   3 +-
 src/cairo-pdf-surface.c                    |  22 +++---
 src/cairo-svg-surface.c                    |   1 +
 src/cairo-type1-subset.c                   |   2 +-
 util/cairo-script/cairo-script-file.c      |   1 +
 util/cairo-script/cairo-script-operators.c |   1 +
 util/cairo-script/cairo-script-scanner.c   |   1 +
 util/cairo-trace/trace.c                   |  10 ++-
 16 files changed, 90 insertions(+), 76 deletions(-)

commit 618b13c436636149bb1c611a9f4a422f60c6476d
Author: Nirbheek Chauhan <nirbheek@centricular.com>
Date:   Wed Nov 4 14:50:52 2020 +0530

    meson: Add dependencies to the declared libcairo dep
    
    That way when other projects consume our declared dep, they get
    transitive dependencies too based on what features cairo was built
    with. Without this, projects that build cairo as a subproject and also
    build, say, fontconfig as a subproject will fail to find cairo-ft.h
    (etc).

 src/meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit c3e48e63a2d2deeae6205ee746cc00c960c8c5c5
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Wed Sep 23 19:27:34 2020 +0100

    meson: extract meson version from cairo-version.h
    
    Same as autotools does. Arguably it would be better to do
    it the other way round and generate cairo-version.h from
    the version in meson.build or configure.ac but for now
    let's do this so it's at least in sync with the autotools
    build and only one file has to be edited for releases.

 Makefile.am |  1 +
 meson.build |  2 +-
 version.py  | 31 +++++++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 1 deletion(-)

commit a67735010dd7576fac7d5e30e0933a3be313b75e
Author: Michal Sudolsky <michal@sudolio.com>
Date:   Tue Jul 21 20:02:24 2020 +0200

    fix double free and failed assertions in cairo_scaled_font_destroy

 src/cairo-scaled-font.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit f8967015029e2c1c59913a2a684c74f62b6e8979
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Tue Oct 6 11:25:54 2020 -0400

    meson: cairo-ft depends on fontconfig if available
    
    cairo-ft.h includes fontconfig.h when CAIRO_HAS_FC_FONT is defined, so
    it must appear in the pc file and the corresponding
    declare_dependency(). This fix build issue in harfbuzz when cairo and
    fontconfig are built as subproject.

 meson.build | 63 ++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 33 insertions(+), 30 deletions(-)

commit 70c01fb9d1399f802ba5799bb7a63f8c594a8cb6
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Tue Oct 6 13:28:51 2020 -0400

    cairo-gobject: Missing cairo include directories
    
    When cairo is a subproject and application uses libcairogobject_dep, it
    was missing include directories set in libcairo_dep.

 util/cairo-gobject/meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 084404cd150981e2d6e6613a4bfb55e7b13a0fb7
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Mon Oct 5 10:32:27 2020 -0400

    meson: Use pkgmod.generate() for all cairo pc files
    
    Also override each dependency so they can be used when cairo is used as
    subproject.

 meson.build                    | 234 ++++++++++++++++-------------------------
 src/meson.build                |   8 +-
 util/cairo-gobject/meson.build |   8 ++
 3 files changed, 100 insertions(+), 150 deletions(-)

commit e2c1b76d7109150bcce72ae6683c5f8f2739468c
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Sat Oct 3 22:39:59 2020 -0400

    meson: Fix build when libpng is not found
    
    trace-to-xml.c needs cairo-xml.h which is only available when
    CAIRO_HAS_XML_SURFACE feature is built which is only available when both
    zlib and png are found. CAIRO_HAS_INTERPRETER only requires zlib.

 util/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6a6ab2475906635fcc5ba0c73182fae73c4f7ee8
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Fri Oct 2 17:28:18 2020 -0400

    meson: Fix cross build with Android NDK
    
    Android NDK does not contain execinfo.h so malloc-stats.c cannot be
    built.

 util/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4ea2991a40d547d3c7800f862206741625a84417
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Sep 24 12:42:54 2020 +0100

    Retire dummy cairo-version.h header to fix meson subproject build
    
    It was originally added to make bisecting easier,
    but has outlived its usefuleness now.
    
    Going forward we'll have just a single cairo-version.h
    header file, the one with the real version numbers.
    
    This is needed to fix the case where cairo is being
    built as a Meson subproject, but also simplifies
    things in general.
    
    Fixes #421

 Makefile.am                                   |  3 ---
 RELEASING                                     |  8 ++++----
 acinclude.m4                                  |  2 +-
 boilerplate/cairo-boilerplate-test-surfaces.c |  2 --
 boilerplate/cairo-boilerplate.c               |  6 ------
 boilerplate/check-link.c                      |  7 -------
 cairo-version.h                               |  8 --------
 doc/public/Makefile.am                        |  2 +-
 meson.build                                   |  2 --
 perf/cairo-analyse-trace.c                    |  2 --
 perf/cairo-perf-micro.c                       |  2 --
 perf/cairo-perf-trace.c                       |  2 --
 src/Makefile.am                               |  2 --
 src/Makefile.sources                          | 13 +------------
 src/Makefile.win32                            |  1 -
 src/cairo-version.c                           |  6 ------
 src/cairo-version.h                           | 12 +++---------
 src/check-link.c                              |  7 -------
 src/meson.build                               |  1 +
 test/cairo-test-runner.c                      |  7 -------
 20 files changed, 11 insertions(+), 84 deletions(-)

commit 96017adf652433584d2a81add601409c3a5d9cd5
Author: Jordan Petridis <jpetridis@gnome.org>
Date:   Tue Jun 23 17:03:28 2020 +0300

    port the CI setup to freedesktop/citemplates
    
    rework the whole CI setup to take advantage of citemplates
    for building managing the docker images.
    
    also add a meson build job and rework the ccache config to be
    shared across autotools and meson. The jobs will not share ccache
    artifacts though.
    
    https://who-t.blogspot.com/2020/03/its-templates-all-way-down.html

 .gitlab-ci.yml | 106 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 79 insertions(+), 27 deletions(-)

commit 75f6e0cacfaa492d39cafe5b9289827b58305645
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Jul 18 20:13:21 2020 +0100

    ci: add native Windows MSVC build with Meson

 .gitlab-ci.yml | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

commit b4bbe9970ca623a9e81874bf8584d39ac9f43126
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Thu Sep 24 12:16:39 2020 +0100

    autotools: dist Meson build system files
    
    So that people can build with Meson when using the tarballs.
    
    Fixes #424

 Makefile.am | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 01683a5882ed8e4629158985da5422e26776d1d3
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Sep 19 14:07:28 2020 +0100

    meson: ensure srcdir doesn't contain autotools build artifacts
    
    .. such as config.h or other generated files such as cairo-features.h,
    as those might be accidentally included by the meson build and cause
    weird to debug build issues.
    
    Fixes #423

 meson.build | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 9a3ad1df1cdca3559d0102918b7527005605df1a
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Mon Aug 31 01:36:20 2020 -0600

    build: Include correct poll.h
    
    Including sys/poll.h when poll.h is available produces a compile
    warning on some systems, but only sys/poll.h is present on others
    such as AIX. This makes sure the most suitable poll.h is included
    in each situation.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 build/configure.ac.system  |  2 +-
 meson.build                |  1 +
 test/any2ppm.c             |  9 +++++++--
 test/cairo-test-trace.c    | 10 +++++++++-
 util/cairo-sphinx/sphinx.c |  9 ++++++++-
 5 files changed, 26 insertions(+), 5 deletions(-)

commit 3b1bf9d6d3cbf2074eb347bc4cb33704f57d800d
Author: Uli Schlachter <psychon@znc.in>
Date:   Sat Sep 5 10:52:25 2020 +0200

    Fix/silence some warnings in 'make check'
    
    'make check' currently fails with the following in src/test-suite.log
    (how can one tell automake not to hide the error message in a file?!?):
    
    FAIL: check-doc-syntax.sh
    =========================
    
    Checking documentation for incorrect syntax
    ./cairo-cogl-surface.c: * cairo_cogl_pipeline_ts. On failure, both pointers will be set to
    ./cairo-cogl-surface.c:/* Mostly taken from cairo_vg_surface.c */
    Error: some function names in the docs are not followed by parentheses.
    Fix this by searching for the following regexp in the above files:
            '^[^:]*:[/ ][*]\(\|[    ].*\)\([^#']\|^\)\<\(cairo_[][<>/0-9a-z_]*\>[^][<>(]\)'
    FAIL check-doc-syntax.sh (exit status: 1)
    
    This commit silences that. The fix is likely not correct, but since
    these are normal comments and not actual doc comments, it does not
    matter much.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-cogl-surface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 881e2579f0096e10bfde89544ea629733aec2533
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Aug 7 13:44:38 2020 +0200

    Make the test suite succeed on GitLab CI
    
    This commit makes the test suite pass by simply ignoring failures. Not
    pretty, but better than teaching people to just ignore CI failures. At
    least some kinds of problems can still be caught.
    
    Originally, I wanted to only run a single test, but while investigating
    how to do this, I stumbled upon this undocumented environment variable.
    This seems less ugly and might allow looking at older build logs to
    figure out when something first broke.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 47881a965ed23a17a0056e99ccba2f1cc7325c9c
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Fri Sep 4 07:11:53 2020 -0600

    cogl: Add build version requirement
    
    This ensures that build configuration for the cogl backend will fail
    if an insufficiently new version of cogl is present, making it easier
    to find the root cause of a build failure.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 configure.ac | 2 +-
 meson.build  | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit c8d82cffdfba9c7c380fbdf120b3f6dd81e28d24
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Aug 30 20:57:04 2020 -0600

    svg2png: Remove deprecated handle closing function call
    
    rsvg_handle_close is no longer required after creating a handle with
    rsvg_handle_new_from_file. It causes a deprecation warning during
    compilation as well. This change removes it.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 test/svg2png.c | 3 ---
 1 file changed, 3 deletions(-)

commit f2cb9ba49a222c6e17603f5fb8cbb02f82d0bbf7
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Aug 30 18:29:05 2020 -0600

    meson: Fix musl build
    
    This constitutes few fixes that are necessary to compile correctly
    and reduce errors when using musl libc.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-misc.c         |  3 +++
 test/cairo-test-runner.c |  8 +++++---
 test/cairo-test-trace.c  |  7 ++++---
 test/cairo-test.c        | 10 ++++++----
 test/cairo-test.h        |  3 ++-
 util/cairo-trace/trace.c |  2 +-
 util/meson.build         |  3 +--
 7 files changed, 22 insertions(+), 14 deletions(-)

commit b87e53dc1cc4dd33fa391f3ee8db02394b44a742
Author: Ting-Wei Lan <lantw@src.gnome.org>
Date:   Mon Aug 31 23:14:19 2020 +0800

    meson: Fix undefined reference when bfd library is installed
    
    Add the missing file which is necessary when symbol lookup is enabled.

 util/cairo-trace/meson.build | 4 ++++
 1 file changed, 4 insertions(+)

commit 2f39018c2c6661de11d5e7c3f385e7f0b338f5b1
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Tue Aug 25 03:26:27 2020 -0600

    meson: Remove unconditional disable of cogl backend build

 meson.build | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit e47d0de8d2f583c44e9f0aa57ff158e6307b7745
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Aug 23 21:23:01 2020 -0600

    cogl: Remove filling with cogl-path
    
    This removes code that uses the cogl-path library, which was not
    used except when manually modifying a preprocessor flag. It could
    not use path caching, was slightly broken, and all of its
    functionality was provided better by different code paths.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 configure.ac                   |   2 +-
 src/Makefile.sources           |   6 +-
 src/cairo-cogl-surface.c       | 127 +++--------------------------------------
 src/cairo-cogl-utils-private.h |  54 ------------------
 src/cairo-cogl-utils.c         | 126 ----------------------------------------
 src/meson.build                |   1 -
 6 files changed, 11 insertions(+), 305 deletions(-)

commit ecbd7ed1740485ccb2be29326ffa6e5ace1df2a7
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Aug 5 23:10:42 2020 -0600

    cogl: Add new path cache
    
    This redesigns the path cache so that it does not mess with the
    context functions, thereby hopefully making it much more resilient
    to changes in the rest of cairo that change the way the default
    context works. It is also much simpler, and it is anticipated that
    it will be more maintainable. Performance in contrast to the old
    cache design speeds up most traces in cairo-perf-trace, and slows
    down only a lesser few by <20%.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c |   12 +-
 src/Makefile.sources                 |    2 -
 src/cairo-cogl-context-private.h     |   58 --
 src/cairo-cogl-context.c             | 1063 -------------------------------
 src/cairo-cogl-private.h             |   17 +-
 src/cairo-cogl-surface.c             | 1133 +++++++++++++++-------------------
 src/cairo-debug.c                    |    4 -
 src/meson.build                      |    1 -
 8 files changed, 498 insertions(+), 1792 deletions(-)

commit 939da43c44ec28b278db36ab744a1176bbdfa890
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Aug 19 15:50:56 2020 -0600

    cogl: Add minimal font support
    
    This adds very basic path-based font support to the cogl backend,
    improving cairo-perf-trace performance by 6x or more on many traces.
    This still is not the most desirable form of font support, which
    would resemble the texture-based glyph caching in the gl backend or
    use cogl-pango to automatically cache glyphs.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

commit 26c7103750b3578561140b522fcc7e77ccd1ab0b
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Aug 19 15:41:02 2020 -0600

    cogl: Fix reference counting bugs
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c | 19 +++++++++-
 src/cairo-cogl-gradient.c            |  1 +
 src/cairo-cogl-surface.c             | 71 +++++++++++++++++++++++++-----------
 3 files changed, 68 insertions(+), 23 deletions(-)

commit 20d475042cdd41603e0a0752779c6f74a7fae544
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 29 14:07:41 2020 -0600

    cogl: Increase reading performance of RGB-only surfaces
    
    This makes it so that RGB24 surfaces are represented in such a way
    that does not require expensive format conversions during pixel
    packing and unpacking.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 36 ++++++++++++++----------------------
 1 file changed, 14 insertions(+), 22 deletions(-)

commit 4068fe0026c32bd04d2405956347544842fc11a8
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 29 04:53:07 2020 -0600

    cogl: Support mirroring of gradients if no hardware support exists
    
    This mirrors a linear gradient by dobling its size and reflecting it
    in the case that hardware does not support mirrored repeating.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-gradient-private.h |   1 +
 src/cairo-cogl-gradient.c         |  61 ++++++--
 src/cairo-cogl-surface.c          | 287 ++++++++++++++++++++------------------
 3 files changed, 202 insertions(+), 147 deletions(-)

commit 9b07a5379bac68565188ac9ea05970c1c4ae31cd
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Tue Jul 28 02:39:31 2020 -0600

    cogl: Limit size of journal
    
    This makes sure the journal is flushed after it reaches a certain
    size, so that very large amounts of memory are not consumed if an
    explicit flush is not triggered.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 43 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 7 deletions(-)

commit 08d6c7de2db2c467da6e210f0b0f3565ba6f50be
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Jul 26 10:55:20 2020 -0600

    cogl: Support source surfaces without an alpha component
    
    This ensures that if the source surface does not have an alpha
    component (such as those with format RGB24), it is not blended
    as if it does.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-private.h |  12 ++-
 src/cairo-cogl-surface.c | 265 ++++++++++++++++++++++++++++++++---------------
 src/cairo-cogl.h         |   3 +-
 3 files changed, 194 insertions(+), 86 deletions(-)

commit bb84bb650ddc1724bc3abb0ee8da8fa9ae34c9a4
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sat Jul 25 02:14:13 2020 -0600

    cogl: Ensure onscreen framebuffers have an alpha component if required
    
    Prior to this change, cogl often queried GLX so that it returned
    a framebuffer that could not support an alpha component.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

commit 02371a714e3fe7500b7cfca5d9ba824aeb3f4695
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Fri Jul 24 21:27:13 2020 -0600

    cogl: Improve support for hardware without mirrored repeating
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c |   10 +-
 src/cairo-cogl-private.h |   11 +-
 src/cairo-cogl-surface.c | 1031 ++++++++++++++++++++++++++++++----------------
 src/cairo-cogl.h         |    3 +
 4 files changed, 695 insertions(+), 360 deletions(-)

commit 916408481f3123bc6fc0800c90d910716046ec30
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Jul 19 15:22:24 2020 -0600

    cogl: Move framebuffer creation functionality out of boilerplate
    
    In order to be more consistent with backends such as gl, support for
    creating a surface from content, width, and height parameters was
    moved into the backend itself. The option to pass cairo-cogl a
    framebuffer to create a texture from still exists, just now it is
    not the only option.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c |  63 ++++--------
 src/cairo-cogl-surface.c             | 182 +++++++++++++++++++++++++++++------
 src/cairo-cogl.h                     |  19 +++-
 3 files changed, 187 insertions(+), 77 deletions(-)

commit 9248ba1419b4164207afb982b4d3f9e43ddffe42
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sat Jul 18 19:03:28 2020 -0600

    cogl: Properly support unbounded operators
    
    This makes it so that operators requiring transparent values to be
    used outside of the bounds of the source and/or mask textures will
    trigger a second rendering of transparent pixels.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c          |   90 ++-
 src/cairo-cogl-gradient-private.h |   10 +-
 src/cairo-cogl-gradient.c         |   20 +-
 src/cairo-cogl-private.h          |    4 +-
 src/cairo-cogl-surface.c          | 1474 ++++++++++++++++++-------------------
 src/cairo-cogl-utils-private.h    |    4 +-
 src/cairo-cogl-utils.c            |    4 +-
 src/cairo-cogl.h                  |    2 +-
 8 files changed, 813 insertions(+), 795 deletions(-)

commit b258f0203c4365a67e6cc88763608737badb4580
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 15 12:34:12 2020 -0600

    cogl: Handle negative stride images correctly
    
    This adds correct support for negative stride images by uploading
    them to a texture in their upside-down orientation and then
    vertically inverting the matrix with which they are read, which
    is required because OpenGL (and therefore cogl) cannot pack pixels
    with a negative stride.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 49 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 44 insertions(+), 5 deletions(-)

commit 20cc7ad16ea2fe95499813b93732b7d7bdefa4dc
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 15 07:51:31 2020 -0600

    cogl: Avoid duplicate representations of the path
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c |  65 +---
 src/cairo-cogl-surface.c | 883 +++++++++++++++++++++++++++++++++--------------
 2 files changed, 632 insertions(+), 316 deletions(-)

commit 9e473db58d22cc181a4a3388c72666ce28cdb8b8
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sat Jul 11 15:02:34 2020 -0600

    cogl: Flush the path before calling functions that require it
    
    Prior to this change, API functions like path_exents returned
    incorrect results if the cogl-specific representation of rectangular
    paths was being used.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c | 177 ++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 159 insertions(+), 18 deletions(-)

commit b7e1551814821a9288cde42a6e000fb1a887ee6f
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sat Jul 11 15:01:32 2020 -0600

    cogl: Fix rectangular filling fast path
    
    Prior to this, the rectangular filling fast path passed arguments to
    _cairo_cogl_journal_log_rectangle as if they represented the
    coordinates of two opposite points on the rectangle, when the arguments
    actually represent a rectangle with the x and y coordinates of one
    point and the width and height of the rectangle.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c |  2 +-
 src/cairo-cogl-surface.c | 11 +++--------
 2 files changed, 4 insertions(+), 9 deletions(-)

commit 1bb048af24d68902981c2af0196fe4042b7e2a9f
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Fri Jul 10 06:05:48 2020 -0600

    cogl: Support raster sources
    
    This adds supporte for raster sources using the same method that
    is used to support radial gradient and mesh sources.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit f3d2623046b934eb2322af45feec3f6ff37e52d4
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Fri Jul 10 03:26:03 2020 -0600

    cogl: Fix very small surfaces in boilerplate
    
    Prior to this change, the boilerplate code crashed when given surface
    dimensions less than 1. This fixes such behaviour by rounding the
    dimensions up to 1, which is also done by the boilerplate code for
    several other backends.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 8f0f371b873ed491ba9492fd0a6bad2695de24a6
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Fri Jul 10 02:57:49 2020 -0600

    cogl: Use less memory during recording surface replaying
    
    Many of the tests in the test suite do many replays of different
    small parts of a single surface. When combined with the cogl backend's
    journaling mechanism, this consumes very large amounts of memory, as
    the entire surface is allocated for each replay. This changes this
    behaviour so that only the portion of the surface that will be used
    is allocated.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 62 ++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 49 insertions(+), 13 deletions(-)

commit 641ea48b66c3ee96138366d64d50dd40c5d29dc1
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 8 20:49:35 2020 -0600

    cogl: Support more unbounded operators
    
    Due to recent changes, all unbounded Porter-Duff compositing operators
    can be properly supported in addition to IN.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 29 ++---------------------------
 1 file changed, 2 insertions(+), 27 deletions(-)

commit e2e494b9ff1d3ba57d21f4cf23187b940cfa0968
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 8 20:48:00 2020 -0600

    cogl: Fix rectangle filling conditions
    
    Prior to this change, the context functions were using the accelerated
    rectangle-filling path even if there was a preexisting rectangular path,
    producing incorrect results.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit bb02ea2b4f68b202682383f2517e33c0d66a9567
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 8 06:58:53 2020 -0600

    cogl: Correct usage of clip boxes
    
    This changes the interpretation of multiple boxes in the clip from
    using the intersection of the multiple boxes to using the union of
    the multiple boxes, which corrects many results in the test suite.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 273 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 186 insertions(+), 87 deletions(-)

commit 7319feb642ecdf21315c8e4a6e211ab27b7dc833
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Jul 5 17:34:54 2020 -0600

    cogl: Support CAIRO_EXTEND_NONE correctly
    
    Prior to this change, CAIRO_EXTEND_NONE was handled the same way as
    CAIRO_EXTEND_PAD, which produced incorrect results in many tests.
    This fixes such behaviour by created a per-source and per-mask clip
    that is applied so that areas outside the bounds of the source or
    mask textures are not sampled during drawing.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 361 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 253 insertions(+), 108 deletions(-)

commit 98eaa778b70715e57cd3ce927b71a9ffdcd0f39f
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Jul 5 00:04:43 2020 -0600

    cogl: Support combinations of mask and source patterns correctly
    
    Prior to this change, the set of template pipelines did not
    properly apply to the full combination of mask and source patterns,
    which could be either textures or solids.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-private.h |  29 ++++--
 src/cairo-cogl-surface.c | 259 +++++++++++++++++++++++++++++++----------------
 2 files changed, 190 insertions(+), 98 deletions(-)

commit 97a98d9145f4dea411a2e42f827a4e50b02edcf1
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Fri Jul 3 23:48:35 2020 -0600

    cogl: Fix aliased vertex buffer offset
    
    This fixes a bug in which the texture coordinate attributes were
    being read from the wrong location in the mapped buffer, due to a
    typo in the original code.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3e810fe2d179f9f5aed4a551447ca312ee8029c7
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jul 1 14:53:28 2020 -0600

    cogl: Fix handling of translated pattern matrices
    
    Due to how cairo matrix math works, the x0 and y0 elements of the
    texture matrix were not being normalized, leading to incorrect
    results in several tests.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 76 ++++++++++++++++++++++++++++--------------------
 1 file changed, 44 insertions(+), 32 deletions(-)

commit 1dce0112efb2ef007983c623348bce68c8914682
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Tue Jun 30 19:39:40 2020 -0600

    cogl: Trailing whitespace fix
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit fc8e68b37ae07dce6b5868ae18e02eff9b04382e
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Tue Jun 30 19:32:22 2020 -0600

    cogl: Fix crash when specifying only mask surface
    
    Cogl enters into an infinite recursion if a texture is specified
    for layer 1 of a pipeline but no texture is specified for layer 0.
    This works around the bug by setting the mask texture on layer 0
    if there is no source texture.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

commit 75d843208cf33b8ba0273745582bcaabf900ea24
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Mon Jun 29 13:37:20 2020 -0600

    cogl: Move context, device, and surface members to most fitting places
    
    The buffer stack was moved from the surface to the device, as
    mapped buffers are shared across all surfaces using the device
    and more than one surface may be doing so. Stemming from this, if
    a surface tries to map a buffer without first unmapping one that
    has been mapped by another surface, it will trigger an error.
    
    The parent backend functions were moved from the device to the
    context, as it is possible that the context creation function could
    be passed a non-cogl device. Prior to this change, many of the
    subsurface tests segfaulted.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c |  10 +-
 src/cairo-cogl-context-private.h     |   8 +-
 src/cairo-cogl-context.c             | 256 ++++++++++++++++++++---------------
 src/cairo-cogl-gradient.c            |  19 ++-
 src/cairo-cogl-private.h             |  18 +--
 src/cairo-cogl-surface.c             | 186 +++++++++++++------------
 6 files changed, 269 insertions(+), 228 deletions(-)

commit a3233bc5df49a8fee4ba07ad56b9cc67e8bfc744
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Jun 28 20:00:47 2020 -0600

    cogl: Handle recording surface sources properly
    
    Previously, if an unbounded recording surface was given as the
    source, the program triggered an assertion failure in the recording
    surface code, as acquire_source_image cannot be used on the surface
    in this case. This adds a new path to deal with such an unbounded
    source surface.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 35 +++++++++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

commit 97c766f8fe6a547b2f1389c59e8a6260c1531539
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jun 24 05:17:04 2020 -0600

    cogl: Convert int to fixed-point in rectangle painting fallback
    
    Previously, the rectangle fallback path in surface_paint was
    incorrectly passing and int to a function that required a
    fixed-point number.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

commit ceffa65fb0411b569690f56788285970ae275c25
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sun Jun 21 03:32:44 2020 -0600

    cogl: Account for new representations of framebuffer types
    
    With the new cogl API, casting the framebuffer into offscreen
    and onscreen types with the provided macros is a deprecated
    behavior.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c | 35 +++++------------------------------
 src/cairo-cogl.h                     |  4 ++--
 2 files changed, 7 insertions(+), 32 deletions(-)

commit 1ada7c9aa6adc70dc58b6678df5d95268f9ecc29
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Sat Jun 20 19:10:29 2020 -0600

    cogl: Fix push_group and pop_group context functions
    
    Before this change, there was the possibility of context functions
    only meant for the cogl surface backend being used on a non-cogl
    surface.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c | 143 ++++++++++++++++++++++++++++++++++-------------
 src/cairo-cogl-surface.c |   5 +-
 2 files changed, 108 insertions(+), 40 deletions(-)

commit d1dec1b3842800b336f4bda27e7fc9943ed27c16
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Thu Jun 18 23:22:56 2020 -0600

    cogl: Fix passing wrong type to _cairo_cogl_clip_push_box
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit bda0f90d6e1368e2414235ef84da2dc5390d89cd
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Thu Jun 18 18:13:37 2020 -0600

    cogl: Correct behavior of boilerplate surface finishing functions
    
    Without this, a buffer-swapping function only usable on onscreen
    framebuffers would have been used on offscreen framebuffers.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c | 29 +++++++++++++++++++++++------
 src/cairo-cogl-surface.c             |  6 +++++-
 2 files changed, 28 insertions(+), 7 deletions(-)

commit 78b00a32132a113cb8d72c4b5d2d4f9f935867d4
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Thu Jun 18 00:21:36 2020 -0600

    cogl: Handle framebuffer formats better in case contents are unknown
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit fd6de9820e50b21c0aca15e71b5bbadca9e26358
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jun 17 13:28:47 2020 -0600

    cogl: Accommodate new context functions
    
    In order to satisfy the runtime check that accounts for new
    API functions that modify the transformation matrix, the new
    functions for translation from backend to user coordinates must
    be accounted for.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 09092bf884bdb6ff25173ca91b2579620fd58b09
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jun 17 04:20:10 2020 -0600

    cogl: Add dependency on cogl-path
    
    The path functions in the cogl API have now been split into a
    separate one which builds from the same codebase. In order to
    compile with this change, the new library has to be added as
    an explicit dependency.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6250e1a8433cca797fb3ca106495f5d779882015
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jun 17 03:47:02 2020 -0600

    cogl: Use new separate functions for offscreen and onscreen framebuffers
    
    The old boilerplate code no longer worked due to the deprecation of
    functions for swapping the buffers that it used.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 boilerplate/cairo-boilerplate-cogl.c | 39 +++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 16 deletions(-)

commit 7135ca2091b0c69b2f9aa2e9d5986d10a86d6103
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Wed Jun 17 02:37:25 2020 -0600

    cogl: Futher changes to match new cogl-experimental public API
    
    These are more changes required to match the new backwards-incompatible
    API of cogl-experimental.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-gradient.c |  47 +++++-----
 src/cairo-cogl-private.h  |   1 -
 src/cairo-cogl-surface.c  | 231 +++++++++++++++++++++++++++++-----------------
 3 files changed, 170 insertions(+), 109 deletions(-)

commit 418ad9db62356aa9dbf2e77ea7d5c3be88447f3b
Author: George Matsumura <gmmatsumura01@bvsd.org>
Date:   Mon Jun 15 07:44:20 2020 +0000

    cogl: Update to match changed cogl-experimental public API
    
    This is the first part of updates to match the backwards-incompatible
    changes that have been made in the cogl-experimental public API
    since this backend last worked.
    
    Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>

 src/cairo-cogl-surface.c | 54 +++++++++++++++++++++++++++++++++---------------
 1 file changed, 37 insertions(+), 17 deletions(-)

commit 88d773e6275474364c29153ca3027631f3f0583f
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Jul 31 14:42:50 2020 +0100

    meson: add summary and flip some options to disabled by default
    
    .. to match autotools.

 meson.build       | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 meson_options.txt | 12 +++++-----
 2 files changed, 69 insertions(+), 10 deletions(-)

commit 89d4c22140842dd1640a3a9a401ce0d842e9a923
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Aug 7 12:13:10 2020 +0100

    meson: update fontconfig wrap and add gperf wrap
    
    Update fontconfig wrap to upstream now that it's been merged.
    Add gperf wrap which is needed for fontconfig, same as in the
    upstream fontconfig repo (this can't be put into wrapdb yet
    because it requires changes to source files).

 subprojects/.gitignore      | 3 ++-
 subprojects/fontconfig.wrap | 6 +++---
 subprojects/gperf.wrap      | 5 +++++
 3 files changed, 10 insertions(+), 4 deletions(-)

commit 7cb362d5861df09b990ea81bbbb66099cab3a2a5
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Fri Aug 7 00:18:17 2020 +0100

    meson: fix cairo-script-interpreter library name
    
    Fixes #418

 util/cairo-script/meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit efc508bdb97d249592af226c7abe0a2365b1731d
Author: Nirbheek Chauhan <nirbheek@centricular.com>
Date:   Thu Aug 6 02:06:45 2020 +0530

    meson: Fix win32 libs in cairo-win32*.pc files
    
    Fixes https://gitlab.freedesktop.org/cairo/cairo/-/issues/419

 meson.build | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 596a82f2d185b101bd74645492821fe2f9e0daa0
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Mon May 21 20:08:22 2018 +0200

    Add meson build definitions
    
    Co-Authored by:
    Nirbheek Chauhan <nirbheek@centricular.com>
    lb90 <luca.bacci982@gmail.com>
    Tim-Philipp Müller <tim@centricular.com>

 boilerplate/make-cairo-boilerplate-constructors.py |  38 +
 boilerplate/make-cairo-boilerplate-constructors.sh |   2 +
 boilerplate/meson.build                            |  43 +
 configure.ac                                       |  11 +
 meson-cc-tests/atomic-ops-cxx11.c                  |   3 +
 meson-cc-tests/atomic-ops-gcc-legacy.c             |   3 +
 meson-cc-tests/ft_has_color.c                      |   7 +
 meson-cc-tests/ipc_rmid_deferred_release.c         |  18 +
 meson-cc-tests/mkdir-variant-1.c                   |  12 +
 meson-cc-tests/mkdir-variant-2.c                   |  12 +
 meson-cc-tests/pthread.c                           |  35 +
 meson.build                                        | 918 +++++++++++++++++++++
 meson_options.txt                                  |  34 +
 src/meson.build                                    | 322 ++++++++
 subprojects/.gitignore                             |  10 +
 subprojects/expat.wrap                             |  10 +
 subprojects/fontconfig.wrap                        |   5 +
 subprojects/freetype2.wrap                         |   5 +
 subprojects/glib.wrap                              |   5 +
 subprojects/libffi.wrap                            |   4 +
 subprojects/libpng.wrap                            |  10 +
 subprojects/pixman.wrap                            |   5 +
 subprojects/proxy-libintl.wrap                     |   4 +
 subprojects/zlib.wrap                              |  10 +
 test/make-cairo-test-constructors.py               |  37 +
 test/meson.build                                   | 627 ++++++++++++++
 test/pdiff/meson.build                             |  21 +
 util/cairo-fdr/meson.build                         |  11 +
 util/cairo-gobject/meson.build                     |  25 +
 util/cairo-missing/meson.build                     |  11 +
 util/cairo-script/meson.build                      |  65 ++
 util/cairo-sphinx/meson.build                      |  26 +
 util/cairo-trace/meson.build                       |  30 +
 util/meson.build                                   |  66 ++
 34 files changed, 2445 insertions(+)

commit a75f8df95761bf88b54c326c5312117ea5073010
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Thu May 31 16:07:57 2018 -0700

    Fix build on Windows with recent versions of MSVC
    
    - vsnprintf and snprintf are available since vs2015
    - define ISREG if not provided
    - guard unistd.h include with HAVE_UNISTD_H
    - isnan() is available after vs2010

 src/cairo-compiler-private.h | 6 ++++--
 test/bitmap-font.c           | 6 ++++++
 test/cairo-test.h            | 2 ++
 3 files changed, 12 insertions(+), 2 deletions(-)

commit 91b5761acd8ddb70993de4c9338549caf617a960
Merge: b55e491d6 1a6a26be5
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jul 20 18:42:01 2020 +0200

    Merge branch 'master' of gitlab.freedesktop.org:sgerwk/cairo

commit b55e491d67e95d7e6ef33f18a239eb6a9a49b7a2
Merge: 4777f9cd5 61cd11a39
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jul 20 18:33:46 2020 +0200

    Merge branch 'invalid-free-crash' of gitlab.freedesktop.org:psychon/cairo

commit 4777f9cd5f67dcab6e750092630aaace8607c4b5
Merge: e0f9db945 c93ca40f6
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jul 20 18:32:33 2020 +0200

    Merge branch 'fix-build-rule-for-font-variations' of gitlab.freedesktop.org:mpsuzuki/cairo

commit e0f9db9459b2eee16507bd8cc06ef668f14291db
Merge: bf1219919 cb2357f48
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jul 20 18:30:45 2020 +0200

    Merge branch 'master' of gitlab.freedesktop.org:ffontaine/cairo

commit bf121991964b10ea06ca8c991bead5857509ce5a
Merge: c4fd00c2c 23b6e8bb5
Author: Uli Schlachter <psychon@znc.in>
Date:   Mon Jul 20 18:29:39 2020 +0200

    Merge branch 'master' of gitlab.freedesktop.org:trofi/cairo

commit c4fd00c2c4111dfbf1aeb81ed04de4bf6e5efc9f
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Wed May 30 17:59:18 2018 +0200

    script-surface: Fix unitialized variable compiler warning
    
    gcc doesn't warn about this because status is potentially
    initialized in a loop.

 src/cairo-script-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bfa00bc3d7d8754bce5f115ac2280c42e6447ba0
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Tue May 29 19:44:45 2018 +0200

    cairo-qt-surface: fix arguments of _cairo_surface_init()
    
    This is broken since b1192beac7c5b56a8ff356d20af5ebfb65404109 (2015!)

 src/cairo-qt-surface.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 1676935768b888b3e4038b6dddb4f6362c137345
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Tue May 29 17:56:16 2018 +0200

    raster-source: fix when builddir != srcdir
    
    When the build dir is different from the source dir,
    "png.png" is not a valid path. As we can't dispose of
    an allocated filename, we add an atexit handler.

 test/raster-source.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

commit 4645ecf3f89de9e25fc83d7c0fdb89188de7a2a3
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Tue May 29 17:54:02 2018 +0200

    record tests: fix when builddir != srcdir
    
    When builddir != srcdir, cairo_test_create_pattern_from_png
    needs a non-NULL ctx to work with.

 test/cairo-test.c  | 8 ++++++++
 test/cairo-test.h  | 3 +++
 test/record.c      | 2 +-
 test/record1414x.c | 2 +-
 test/record2x.c    | 2 +-
 test/record90.c    | 2 +-
 test/recordflip.c  | 2 +-
 7 files changed, 16 insertions(+), 5 deletions(-)

commit 23b6e8bb5798c77550da613fadc3da8b3be14573
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date:   Sun Jun 14 09:58:52 2020 +0100

    build/aclocal.float.m4: detect 'strings' with AC_CHECK_TOOL
    
    This way all binutils tools are detected with $CHOST prefix
    if exist. And strings is allowed to be substituted with
    STRINGS environment override, so 'llvm-strings' (or other)
    alternative can be used.
    
    Bug: https://bugs.gentoo.org/726200
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 build/aclocal.float.m4 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit aee96d175d8349945a6d1948a56abd4b4ec6ad84
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Feb 17 17:43:39 2019 +0100

    Initialize mutexes in _cairo_ft_unscaled_font_map_lock()
    
    This function is reachable via cairo_ft_font_face_create_for_ft_face()
    -> _cairo_ft_unscaled_font_create_from_face() ->
    _cairo_ft_unscaled_font_create_internal() ->
    _cairo_ft_unscaled_font_map_lock(). Thus, it could happen that nothing
    initialized mutexes before this code runs.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-ft-font.c | 2 ++
 1 file changed, 2 insertions(+)

commit 0ae4e6a8554ce7cc13ba0f23c516ddd7622f660a
Merge: d66baf8ec a68c19680
Author: Uli Schlachter <psychon@znc.in>
Date:   Fri Feb 14 16:58:15 2020 +0100

    Merge branch 'ft-leak' of gitlab.freedesktop.org:carlosgc/cairo

commit d66baf8ecd880ec9b0e282025a77fa223299d52a
Merge: 2982adec7 10760d29d
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Feb 12 17:44:18 2020 +0100

    Merge branch 'fix-xml-unclosed-scaled-font-element' of gitlab.freedesktop.org:mpsuzuki/cairo

commit cb2357f481396820ec954dc4b69eafc01a8d162a
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date:   Mon Feb 3 21:24:25 2020 +0100

    test: fix build when SHOULD_FORK is false
    
    The code in test/cairo-test-runner.c properly takes into account
    platforms that do have fork() support, and uses the SHOULD_FORK define
    to know whether fork is available or not.
    
    However, this SHOULD_FORK macro is used to guard the inclusion of
    <unistd.h>, which is needed to get the prototype of other functions
    (namely readlink and getppid), that are used in portions of this file
    not guarded by SHOULD_FORK.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    [Retrieved from:
    https://git.buildroot.net/buildroot/tree/package/cairo/0001-fix-nofork-build.patch]
    Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

 test/cairo-test-runner.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2982adec7698ef6cc55b6eb27f28200a95013cdc
Author: luzpaz <david.yoga@gmail.com>
Date:   Fri Dec 20 11:10:19 2019 +0000

    Fix documentation typo in src/cairo-surface.c

 src/cairo-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1a6a26be5641cc3ebd3863df730b2d2db8227ac0
Author: sgerwk <sgerwk@aol.com>
Date:   Mon Oct 14 12:25:43 2019 +0200

    a surface may also be checked for status after finishing

 src/cairo-surface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f93fc72c0c3e158982740015304389192ce8a567
Author: Heiko Lewin <hlewin@gmx.de>
Date:   Sat Oct 12 07:45:29 2019 +0000

    Delete fill_rectangles_shader on device finish

 src/cairo-gl-shaders.c | 1 +
 1 file changed, 1 insertion(+)

commit d0dccb92c520556aaa02bd1fdf8f2922cef00292
Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Date:   Sat Oct 5 14:07:28 2019 +0200

    image compositor: Remove the right glyph from pixman's cache
    
    We need to use the index including the phase. Otherwise we leave glyphs
    in the cache that cause problems later as indices are reused.

 src/cairo-image-compositor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 52a7c79fd4ff96bb5fac175f0199819b0f8c18fc
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jul 26 17:29:17 2019 -0400

    Fix vertical subpixel positioning
    
    We need to apply the Y subpixel phase negated,
    since we flip the Y axis later.

 src/cairo-ft-font.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit aa263f881fb158202f32a7e3a8c6351dbe3626b8
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu May 30 07:30:55 2019 -0400

    Fix a thinko in composite_color_glyphs
    
    We can't just move around the contents of the
    passed-in string, we need to make a copy. This
    was showing up as memory corruption in pango.
    
    See https://gitlab.gnome.org/GNOME/pango/issues/346

 src/cairo-surface.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit e4a79db0108be6a2b06dfce51a44bcbdead66ebd
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat May 25 00:35:04 2019 +0000

    xlib compositor: Support subpixel positioning
    
    As for the image compository, support a 4x4
    subpixel grid.

 src/cairo-xlib-render-compositor.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

commit 6fd4222ab00c3b93f038172a8c9d48375c5f86f0
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri May 24 20:40:00 2019 +0000

    Add a testcase for subpixel positioning
    
    With the image compositor, you can see different
    phases. The XLib compositor always uses the same
    glyph rendering.

 test/Makefile.sources |  1 +
 test/text-subpixel.c  | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

commit ea9329215d3431ded51a71b724baf0edc25ad633
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat Jul 28 12:25:47 2018 +0000

    image compositor: Support subpixel positioning
    
    Support subpixel positioning with a 4x4 subpixel grid.
    
    When compositing glyphs in the image compositor,
    we store the subpixel phases in the high bits of the
    glyph index. The _cairo_scaled_glyph_index() macro
    has been updated to discard these bits. By storing
    the phases in the glyph index, the glyph cache just
    keeps working. When loading a glyph, the Freetype
    font backend shifts the outline according to the
    phases.

 src/cairo-ft-font.c          | 10 ++++++++++
 src/cairo-image-compositor.c | 13 +++++++++++--
 src/cairoint.h               |  5 ++++-
 3 files changed, 25 insertions(+), 3 deletions(-)

commit bab53d91a8543e2ddb15f9dce98ebb3f9bcd5d22
Author: Florian Müllner <fmuellner@gnome.org>
Date:   Mon Mar 11 03:51:40 2019 +0100

    ft-font: Fix color font support
    
    FT_PIXEL_MODE_BGRA is an enum member, not a define, so it always appears
    as 0 in the preprocessor conditions added in commit c0ed8ce1a11.
    
    There is an existing define for color font support, use that instead.

 src/cairo-ft-font.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit dfe3aa6d88ad548b729cf8e5b5ff9d80fbb0e412
Author: Antony Lee <anntzer.lee@gmail.com>
Date:   Mon Feb 11 08:48:56 2019 +0100

    Fix off-by-one bug in tor22-scan-converter.
    
    This makes the implementation in tor22-scan-converter match the one in
    tor-scan-converter.

 src/cairo-tor22-scan-converter.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 82a2477a4a305cdcd8f331e6539db8742e0829e6
Author: Massimo Valentini <mvalentini@src.gnome.org>
Date:   Fri Jan 16 12:56:04 2015 +0100

    add a test to exercise tor22 spans allocation code path

 test/Makefile.sources            |   1 +
 test/bug-75705.c                 |  32 ++++++++++++++++++++++++++++++++
 test/reference/bug-75705.ref.png | Bin 0 -> 97 bytes
 3 files changed, 33 insertions(+)

commit c93ca40f60bc839c0193a572e97ec2d297190c95
Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Date:   Wed Apr 10 01:07:16 2019 +0000

    regrouping of test sources with new 'fc_font_test_sources' group

 test/Makefile.am      | 3 ++-
 test/Makefile.sources | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 10760d29d140330102846e83c92e0bc6a9f359a4
Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Date:   Mon Apr 8 02:52:51 2019 +0000

    xml: fix unclosed <scaled-font> element
    
    a closing tag </scaled-font> has been missing,
    mistakenly an opening tag <scaled-font> has been emitted.
    
    See discussion in:
    https://lists.cairographics.org/archives/cairo/2018-December/028822.html
    https://lists.cairographics.org/archives/cairo/2019-January/028828.html

 src/cairo-xml-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d331c69f65477b01859862f783081352f318c6d2
Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Date:   Mon Apr 8 02:56:50 2019 +0000

    Makefile.sources: move font-variations.c (a test code for
    Variation Font with FreeType2 functions) from test_sources
    to ft_font_test_sources, to restrict the test to the case
    with FreeType2 backend. See discussion in
    https://lists.cairographics.org/archives/cairo/2019-April/028858.html

 test/Makefile.sources | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 269522fbe999b44e3f18179d59f7c835620894eb
Author: Uli Schlachter <psychon@znc.in>
Date:   Sun Feb 17 09:26:11 2019 +0100

    .gitlab-ci.yml: Temporarily switch to Fedora rawhide
    
    Since commit a34cb719cd9cb4f0, we need pixman >= 0.36, which is not yet
    in the latest Fedora. Thus, this switches to Fedora rawhide to make
    things work again.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 81102cc214814cac8c99fed08a877d8f38312e51
Author: Vasilij Schneidermann <mail@vasilij.de>
Date:   Thu Feb 28 09:38:09 2019 +0100

    Disable sphinx build if PNG support is disabled

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 250ae25b0a671b9de7313c042710bbb6760248c4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Mar 12 10:19:36 2019 -0600

    Don't use deprecated rsvg_set_default_dpi()
    
    Use rsvg_handle_set_dpi() instead.

 test/any2ppm.c | 5 +----
 test/svg2png.c | 3 +--
 2 files changed, 2 insertions(+), 6 deletions(-)

commit 2d1a137f3d27b60538c58b25e867288c7b0b61bc
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Sun Mar 3 00:01:34 2019 -0800

    Revert "clip-boxes:  Drop too-early return"
    
    This reverts commit cb871c6c692af68d8e0bf9e26472af45435f8a2c.
    
    The original code is badly, but removing the early return leads to
    crashes.  This code will need a lot more attention to get right, for now
    at least go back to the original behavior.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/358#note_125270

 src/cairo-clip-boxes.c | 1 +
 1 file changed, 1 insertion(+)

commit 61cd11a39095cb51b9e87beba10905e895567151
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Feb 12 17:46:12 2019 +0100

    steal boxes: Fix an invalif free() exposed by cb871c6c
    
    Commits cb871c6c made the function _cairo_clip_reduce_to_boxes()
    actually do something instead of being a no-op. This exposed a latent
    bug in cairo that was so far just not hit due to luck.
    
    The function _cairo_clip_steal_boxes() removes the boxes from a clip and
    gives them to a cairo_boxes_t. _cairo_clip_unsteal_boxes() undoes this
    operation. For efficiency reasons, cairo_clip_t contains an embedded
    cairo_box_t that is used when the clip has only one box to avoid a
    memory allocation. Thus, _cairo_clip_unsteal_boxes() must be called on
    the same clip that was given to _cairo_clip_steal_boxes(), or otherwise
    a clip could end up to the embedded box of another instance of
    cairo_clip_t. This is exactly what was happening here.
    
    For example, cairo-xcb can replace extents->clip with another clip via
    the call chain _cairo_xcb_render_compositor_paint() (which is where
    boxes are stolen) -> _clip_and_composite_boxes() ->
    trim_extents_to_traps() ->
    _cairo_composite_rectangles_intersect_mask_extents(). This function
    replaced the clip with the result of _cairo_clip_reduce_for_composite()
    and frees the old clip. At this point, the boxes that were stolen
    previously become invalid / become a dangling pointer. The crash later
    on is just one of the side effects of this.
    
    This commit fixes this problem by treating embedded boxes specially in
    _cairo_clip_steal_boxes() and _cairo_clip_unsteal_boxes(): The
    cairo_boxes_t instance also has embedded boxes. An embedded box on the
    clip is copied to these other embedded boxes. When unstealing, the
    embedded box of the clip is used again. Thus, it does not matter anymore
    that another instance of _cairo_clip_t is used for unstealing.
    
    Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/358
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 src/cairo-clip-inline.h | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

commit 9752636bade11a9b3a3f65367c2b3728ca60a983
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Fri Feb 1 09:59:05 2019 -0800

    gitignore: gtk-doc.m4
    
    This file is generated by the dist release scripts.

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit 4c5c48ebaa10a858ee6e940ad91a9bf504a6b6c1
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Fri Feb 1 09:11:46 2019 -0800

    surface: Fix spelling fix

 src/cairo-paginated-surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0f6ca43f5e82ee8fe701008a3823c7b51b2c05bf
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Fri Feb 1 08:15:42 2019 -0800

    cairo: Fix Since number for new color formats

 src/cairo.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2a21ed0293055540985e74375ff462502adc9754
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Feb 1 19:46:00 2019 +1030

    tags: Don't ignore tag on empty pages
    
    Issue 357

 src/cairo-analysis-surface.c | 4 ++--
 src/cairo-surface.c          | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

commit ef99c3bf3001dbd55e32c1f2c54d7ebfeb98569a
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Thu Jan 31 19:49:57 2019 -0800

    Start 1.17.2+1 development

 cairo-version.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d67be70805fc422aacdb75fb14f6fa482db649c0
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Thu Jan 31 19:33:41 2019 -0800

    Release 1.17.2

 NEWS            | 25 +++++++++++++++++++++++--
 cairo-version.h |  2 +-
 2 files changed, 24 insertions(+), 3 deletions(-)

commit 6d93bddbd65a1a9723260f2b0406abae4dd63c7f
Author: luz.paz <luzpaz@users.noreply.github.com>
Date:   Sat Oct 20 14:11:30 2018 -0400

    Misc. typos
    
    Found via `codespell -i 3 -w -I ../cairo-word-whitelist.txt -L tim,ned,uint`
    Follow up of 12cb59be7da
    
    Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>

 AUTHORS                                        |  8 ++++----
 NEWS                                           | 20 ++++++++++----------
 boilerplate/cairo-boilerplate-win32-printing.c |  2 +-
 build/aclocal.float.m4                         |  2 +-
 build/configure.ac.warnings                    |  2 +-
 perf/cairo-perf-trace.c                        |  2 +-
 src/cairo-array.c                              |  2 +-
 src/cairo-cogl-surface.c                       |  4 ++--
 src/cairo-default-context.c                    |  2 +-
 src/cairo-ft-font.c                            |  2 +-
 src/cairo-gl-device.c                          |  2 +-
 src/cairo-gl-surface.c                         |  2 +-
 src/cairo-hash.c                               |  2 +-
 src/cairo-misc.c                               |  2 +-
 src/cairo-paginated-private.h                  |  2 +-
 src/cairo-paginated-surface.c                  |  2 +-
 src/cairo-pattern.c                            |  8 ++++----
 src/cairo-pdf-operators.c                      |  4 ++--
 src/cairo-ps-surface.c                         |  2 +-
 src/cairo-script-surface.c                     |  2 +-
 src/cairo-tag-attributes.c                     |  2 +-
 src/cairo-toy-font-face.c                      |  4 ++--
 src/cairo-traps.c                              |  2 +-
 src/cairoint.h                                 |  2 +-
 src/win32/cairo-win32-printing-surface.c       |  2 +-
 test/cairo-test.c                              |  2 +-
 test/copy-path.c                               |  2 +-
 test/degenerate-dash.c                         |  2 +-
 test/map-to-image.c                            |  6 +++---
 test/pattern-getters.c                         |  2 +-
 test/pdiff/args.c                              |  2 +-
 test/pdiff/args.h                              |  2 +-
 test/svg-clip.c                                |  2 +-
 test/text-cache-crash.c                        |  2 +-
 util/cairo-api-update                          |  2 +-
 util/cairo-script/cairo-script-hash.c          |  2 +-
 36 files changed, 56 insertions(+), 56 deletions(-)

commit cb871c6c692af68d8e0bf9e26472af45435f8a2c
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Thu Jan 31 17:20:50 2019 -0800

    clip-boxes:  Drop too-early return
    
    The indentation of this line suggests it is a typo.  In any case it
    causes the function to unconditionally return immediately, thereby
    shortcircuiting it entirely, which does not appear to be the intended
    behavior.
    
    Fixes: https://gitlab.com/cairo/cairo/issues/2

 src/cairo-clip-boxes.c | 1 -
 1 file changed, 1 deletion(-)

commit ef8c379e0f560ced63c2a07566a3a7d608e3996c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Jan 16 20:46:42 2019 +1030

    scaled-subsets: always include glyphs maps to character 0
    
    Issue 354

 src/cairo-scaled-font-subsets.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

commit 6edf572ebb27b00d3c371ba5ae267e39d27d5b6d
Merge: d061570a7 90e85c249
Author: Uli Schlachter <psychon@znc.in>
Date:   Wed Jan 9 07:50:12 2019 +0100

    Merge branch 'ft-crash' of gitlab.freedesktop.org:carlosgc/cairo

commit d061570a70c12ebf43e9aa914a9cbb87b616a979
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Mon Dec 3 15:13:42 2018 +0100

    png: Add support for 16 bpc png reading as floating point format
    
    Similar to writing png, don't squash 16 bpc to 8 bpc and create
    a float surface to contain the image.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>

 src/cairo-png.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 60 insertions(+), 8 deletions(-)

commit 1df0a68460ed0c9e16089919002d8c58faccdab5
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Mon Dec 3 15:13:41 2018 +0100

    png: Add support for writing new floating point formats as 16 bpc png.
    
    _cairo_image_surface_coerce will round down the image to a lower
    bpp when using one of the floating point formats, so don't coerce those.
    This makes the code actually work for those formats.
    
    Because a float takes more storage than u16, we have to convert float
    to u16 before calling png_write_image, because png_write
    doesn't give us back the original row data, but an in-place copy.
    
    With these changes we can dump floating point files with the highest
    possible accuracy, with floats clamped between 0 and 1.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>

 src/cairo-png.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 97 insertions(+), 11 deletions(-)

commit a34cb719cd9cb4f0c5b78be80b80ab0ae22464a6
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Mon Dec 3 15:13:40 2018 +0100

    Add support for RGBA128F and RGB96F formats.
    
    IGT wants to add support for planes with a bit depth >10, which
    requires a higher precision format than we have currently.
    
    I'm using RGBA as format, because of its existence in OpenGL.
    With the new formats we can directly convert our bytes to half float,
    or multiply a colro vector with a matrix to go to the Y'CbCr colorspace.
    
    This requires pixman 0.36.0, so bump the version requirement.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>

 configure.ac                               |  2 +-
 perf/micro/fill-clip.c                     |  2 ++
 perf/micro/pixel.c                         |  2 ++
 src/cairo-debug.c                          |  6 ++++++
 src/cairo-image-compositor.c               |  4 ++++
 src/cairo-image-source.c                   | 27 +++++++++++++++++++++++++++
 src/cairo-image-surface.c                  | 16 ++++++++++++++++
 src/cairo-png.c                            |  2 ++
 src/cairo-script-surface.c                 | 20 ++++++++++++++++++++
 src/cairo-xlib-display.c                   | 12 ++++++++++++
 src/cairo.h                                |  6 +++++-
 src/cairoint.h                             |  2 +-
 test/any2ppm.c                             |  2 ++
 test/map-to-image.c                        |  2 ++
 test/png.c                                 |  2 ++
 util/cairo-script/cairo-script-operators.c | 12 ++++++++++++
 util/cairo-trace/trace.c                   | 12 +++++++++++-
 17 files changed, 127 insertions(+), 4 deletions(-)

commit 87c1c19197a6a3cdae955b320386f5449e17b286
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Mon Dec 3 15:13:39 2018 +0100

    cairo-trace: Simplify bigendian case in emit_image.
    
    All the cases are the same, except len is different.
    Use the already calculated len parameter to handle all
    cases except RGB24 the same.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Suggested-by: Bryce Harrington <bryce@bryceharrington.org>
    Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>

 util/cairo-trace/trace.c | 25 +++++--------------------
 1 file changed, 5 insertions(+), 20 deletions(-)

commit 3a0670e03c6a93fda764878697a78e3b966ef1f1
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Nov 24 18:36:26 2018 +1030

    tag_attributes: Allow decimal points in non decimal point locales
    
    Issue #347

 src/cairo-tag-attributes.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

commit 4804d073e6e197945ffe1852f0407e4364bc71be
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Nov 13 16:31:06 2018 +0100

    Remove all traces of NUM_THREADS
    
    The code that looked at CAIRO_TEST_NUM_THREADS was removed seven years
    ago in commit 6ef9779a6f5cb8, because it was dead code. I have not
    managed to figure out how long exactly this code was dead already.
    
    This commit removes the last traces of NUM_THREADS.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml   | 2 +-
 test/Makefile.am | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

commit c62238a1dab67f05528c622047ce1e60c1a382e4
Author: Uli Schlachter <psychon@znc.in>
Date:   Tue Nov 13 16:24:19 2018 +0100

    .gitlab-ci.yml: Do a verbose build
    
    With VERBOSE=1, a lot more stuff is printed while make runs. Perhaps
    most interestingly, this prints the output of a failed test after the
    test failed. Thus, this gives us the output of the test suite.
    
    Signed-off-by: Uli Schlachter <psychon@znc.in>

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c0ed8ce1a111cb9472aef080ac3aa31526443f7c
Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Date:   Thu Dec 13 14:36:56 2018 +0900

    [cairo-ft-font.c] conditionalize the changes by 3ec4aa24 on 2018-07-16 for legacy FreeType2 without color font feature

 src/cairo-ft-font.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 3c4570f8f49655735e13b35295ae3bc3ec81d027
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Dec 2 19:44:03 2018 +1030

    ps: fix invalid matrix in eps embedding

 src/cairo-ps-surface-private.h | 2 ++
 src/cairo-ps-surface.c         | 5 +++++
 2 files changed, 7 insertions(+)

commit a68c19680e23fd916770c89abf50465f4c99d12b
Author: Carlos Garcia Campos <cgarcia@igalia.com>
Date:   Mon Nov 19 13:08:14 2018 +0100

    ft: Fix memory leak in _cairo_ft_unscaled_font_init
    
    FT_MM_Var returned by FT_Get_MM_Var needs to be freed.

 src/cairo-ft-font.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 90e85c2493fdfa3551f202ff10282463f1e36645
Author: Carlos Garcia Campos <cgarcia@igalia.com>
Date:   Mon Nov 19 12:33:07 2018 +0100

    ft: Use FT_Done_MM_Var instead of free when available in cairo_ft_apply_variations
    
    Fixes a crash when using freetype >= 2.9

 src/cairo-ft-font.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 01788f5edbab01ff7148af288faf87df7373ed2a
Author: Jordan Petridis <jpetridis@gnome.org>
Date:   Sun Nov 11 12:59:39 2018 +0000

    CI: Fix Docker image uris
    
    Images where migrated a couple months ago to the
    GNOME gitlab instance.

 .gitlab-ci.yml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4c8813f0eaacc32c27126ad2296951a626300b89
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Oct 25 18:46:17 2018 +1030

    pdf: add missing flush
    
    Issue #342

 src/cairo-pdf-surface.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 4db835c5b5eede6a348f50eb8f5b3977c32c8e9e
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Oct 24 13:41:51 2018 +1030

    doc: fix link tags code example
    
    The old code did not work.

 src/cairo.c | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

commit c66f017aa376f5fffcd5ee785523e5e2775e379f
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Mon Oct 22 15:46:17 2018 -0700

    RELEASING: Bugzilla no longer needs updated

 RELEASING | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

commit 717f0e0a40b8d947dad3fb9f25c3aad1619aae87
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 21 13:36:46 2018 +1030

    type1: fallback if the font matrix is not a uniform scale
    
    https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1790242

 src/cairo-type1-subset.c | 5 +++++
 1 file changed, 5 insertions(+)

commit ec70bde74ab2fb7fa4a9d648c9d7367b7daf59c2
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Fri Oct 19 13:43:54 2018 -0700

    Bump version for 1.17.1

 cairo-version.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
