From 530ffd0b7d3c39757b20f00716e486b5caf89aff Mon Sep 17 00:00:00 2001 From: sanine Date: Wed, 12 Oct 2022 12:03:23 -0500 Subject: add cairo --- libs/cairo-1.16.0/ChangeLog | 8997 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 8997 insertions(+) create mode 100644 libs/cairo-1.16.0/ChangeLog (limited to 'libs/cairo-1.16.0/ChangeLog') diff --git a/libs/cairo-1.16.0/ChangeLog b/libs/cairo-1.16.0/ChangeLog new file mode 100644 index 0000000..a9f004a --- /dev/null +++ b/libs/cairo-1.16.0/ChangeLog @@ -0,0 +1,8997 @@ +# Generated by configure. Do not edit. + +commit 3ad43122b21a3299dd729dc8462d6b8f7f01142d +Author: Bryce Harrington +AuthorDate: Tue Oct 16 09:53:18 2018 -0700 +Commit: Bryce Harrington +CommitDate: Fri Oct 19 13:23:16 2018 -0700 + + 1.16.0 release + + Signed-off-by: Bryce Harrington + + NEWS | 157 ++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 4 +- + doc/public/cairo-docs.xml | 3 + + 3 files changed, 162 insertions(+), 2 deletions(-) + +commit 6059f5f260935e48ad12f0865136ace63449e4bd +Author: Bryce Harrington +AuthorDate: Wed Oct 17 17:51:14 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 17 17:53:12 2018 -0700 + + test: Free resources in pdf2png + + Patch proposed by Bofa. + + Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/317 + Reviewed-by: Bryce Harrington + + test/pdf2png.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 3a03c1ba4bc30492721abdb6c9ec8868663ef237 +Author: Bryce Harrington +AuthorDate: Wed Oct 17 17:32:10 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 17 17:32:10 2018 -0700 + + win32: Fix regression with text containing space character + + Converting a series of glyphs to a path triggers an out of memory error + if there is a space glyph (bytesGlyph==0). The regression was + introduced by commit 19982393 in cairo-win32-font.c:107. + + The behavior of malloc(0) is not well defined - it can return NULL on + some platforms, or an arbitrary (non-allocated) pointer on other + platforms. Commit 19982393 introduced sanity by enforcing that NULL is + always returned in this situation, which inappropriately triggers the + OOM check in _cairo_win32_scaled_font_init_glyph_path(). Instead, + special case the handling for bytesGlyph==0. + + Patch authored by Uli Schlachter, based on fix proposed by lb90. + + Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/339 + Reference: https://gitlab.gnome.org/GNOME/pango/issues/323 + Reviewed-by: Bryce Harrington + + src/win32/cairo-win32-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7786b8fe4e7a2c73767be3ce7ae64389d09984d9 +Author: Bryce Harrington +AuthorDate: Tue Oct 16 10:31:48 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 17 17:21:03 2018 -0700 + + Drop skia backend + + Commit 38806bc3 already disabled the backend from use, now drop the + code. + + README | 6 - + configure.ac | 26 - + src/Makefile.sources | 7 - + src/cairo-pattern.c | 2 +- + src/cairo-skia-surface.cpp | 1202 -------------------------- + src/cairo-skia.h | 66 -- + src/cairo.h | 1 - + src/skia/cairo-skia-context.cpp | 1781 --------------------------------------- + src/skia/cairo-skia-private.h | 127 --- + src/skia/cairo-skia-surface.cpp | 323 ------- + 10 files changed, 1 insertion(+), 3540 deletions(-) + +commit f246a2144fd0de71b7f4fe7e8ad57285965d43b8 +Author: Paul Menzel +AuthorDate: Tue Oct 16 13:46:52 2018 +0200 +Commit: Bryce Harrington +CommitDate: Tue Oct 16 10:03:20 2018 -0700 + + Use HTTPS URLs for gnome.org domains + + Run the command below suggested by geirha in ##sed@irc.freenode.net. + + git grep -l 'http://.*gnome.org' | xargs sed -i 's|http\(://\([[:alnum:].-]*\.\)\{0,1\}gnome\.org\)|https\1|g' + + Signed-off-by: Paul Menzel + + NEWS | 6 +++--- + configure.ac | 2 +- + src/cairo-output-stream.c | 2 +- + util/cairo-trace/trace.c | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) + +commit 1c9201721d4c3ad667214cb2032e038e57395feb +Author: Paul Menzel +AuthorDate: Tue Oct 16 12:21:06 2018 +0200 +Commit: Bryce Harrington +CommitDate: Tue Oct 16 10:03:07 2018 -0700 + + Use HTTPS URLs for freedesktop.org domains + + Run the command below suggested by geirha in ##sed@irc.freenode.net. + + git grep -l 'http://.*freedesktop.org' | xargs sed -i 's|http\(://\([[:alnum:].-]*\.\)\{0,1\}freedesktop\.org\)|https\1|g' + + Signed-off-by: Paul Menzel + + BUGS | 4 +- + HACKING | 4 +- + NEWS | 100 ++++++++++++++++++------------------ + README | 6 +-- + build/aclocal.pkg.m4 | 2 +- + build/configure.ac.tools | 2 +- + configure.ac | 10 ++-- + perf/README | 2 +- + src/cairo-clip-tor-scan-converter.c | 2 +- + src/cairo-tor-scan-converter.c | 2 +- + src/cairo-tor22-scan-converter.c | 2 +- + src/cairo-xlib-private.h | 2 +- + test/big-trap.c | 2 +- + test/clip-push-group.c | 2 +- + test/filter-bilinear-extents.c | 2 +- + test/get-path-extents.c | 4 +- + test/leaky-dashed-rectangle.c | 2 +- + test/path-stroke-twice.c | 2 +- + util/cairo.modules | 2 +- + 19 files changed, 77 insertions(+), 77 deletions(-) + +commit 15ad6ca3e1ae2f34da4de1c81ac085031e1de8d1 +Author: Paul Menzel +AuthorDate: Tue Oct 16 12:02:48 2018 +0200 +Commit: Bryce Harrington +CommitDate: Tue Oct 16 10:03:01 2018 -0700 + + Use HTTPS URLs for cairographics.org domains + + Run the command below suggested by geirha in ##sed@irc.freenode.net. + + git grep -l 'http://.*cairographics.org' | xargs sed -i 's|http\(://\([[:alnum:].-]*\.\)\{0,1\}cairographics\.org\)|https\1|g' + + Signed-off-by: Paul Menzel + + BUGS | 4 +-- + HACKING | 8 ++--- + INSTALL | 4 +-- + NEWS | 50 ++++++++++++++++---------------- + README | 18 ++++++------ + RELEASING | 8 ++--- + build/Makefile.am.releasing | 2 +- + configure.ac | 4 +-- + doc/tutorial/slides/cairo-blank.svg | 2 +- + doc/tutorial/slides/cairo-code.svg | 2 +- + doc/tutorial/slides/cairo-separator.svg | 2 +- + doc/tutorial/slides/cairo.svg | 2 +- + doc/tutorial/slides/tutorial.xml | 12 ++++---- + doc/tutorial/src/README | 2 +- + src/cairo-gl-composite.c | 2 +- + src/cairo-pdf-interchange.c | 2 +- + src/cairo-ps-surface.c | 2 +- + src/cairo.c | 6 ++-- + src/cairo.h | 2 +- + test/api-special-cases.c | 2 +- + test/culled-glyphs.c | 2 +- + test/dash-infinite-loop.c | 2 +- + test/degenerate-arc.c | 2 +- + test/degenerate-pen.c | 2 +- + test/get-path-extents.c | 2 +- + test/leaky-dashed-rectangle.c | 2 +- + test/mime-surface-api.c | 4 +-- + test/scale-offset-image.c | 2 +- + test/scale-offset-similar.c | 2 +- + test/surface-pattern-scale-down-extend.c | 2 +- + 30 files changed, 79 insertions(+), 79 deletions(-) + +commit bf597b89288b6271f56031d5a20bfaf59f146d4c +Author: Bryce Harrington +AuthorDate: Tue Oct 16 09:13:23 2018 -0700 +Commit: Bryce Harrington +CommitDate: Tue Oct 16 09:53:00 2018 -0700 + + Revert "Correctly decode Adobe CMYK JPEGs in PDF export" + + From further testing and investigation it appears that many PDF viewers + already have a workaround to invert Adobe CMYK JPEGs, so our generated + PDFs display incorrectly with those viewers due to double-inversion. + + Further investigation will be needed to find a better solution that + doesn't cause regression for some PDF viewers; perhaps PDF viewers that + lack this inversion workaround should be changed to include it. For now + we'll drop the patch to avoid shipping the regression in 1.16.0. + + This reverts commit b207a932a2d3740984319dffd58a0791580597cd. + + Reference: https://bugs.freedesktop.org/show_bug.cgi?id=97612 + Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/156 + + src/cairo-image-info-private.h | 1 - + src/cairo-image-info.c | 21 --------------------- + src/cairo-pdf-surface.c | 2 -- + 3 files changed, 24 deletions(-) + +commit 868998a0f4373cef190232f5bdf817e64548023f +Author: Bryce Harrington +AuthorDate: Tue Oct 16 09:44:16 2018 -0700 +Commit: Bryce Harrington +CommitDate: Tue Oct 16 09:44:16 2018 -0700 + + RELEASING: Clarify how to add the news item + + RELEASING | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 06ef6db95701f1aad2fe7109afa1457e61b48c01 +Author: Bryce Harrington +AuthorDate: Thu Sep 20 16:28:55 2018 -0700 +Commit: Bryce Harrington +CommitDate: Thu Sep 20 16:28:55 2018 -0700 + + Bump version for 1.15.15 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d9aaea0c1e1484c632e1a6735c6ecc961c4b032b +Author: Bryce Harrington +AuthorDate: Wed Sep 19 14:06:21 2018 -0700 +Commit: Bryce Harrington +CommitDate: Thu Sep 20 13:07:03 2018 -0700 + + 1.15.14 release + + Signed-off-by: Bryce Harrington + + NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 57 insertions(+), 1 deletion(-) + +commit c1e37f4f025cebe8750764379d9e9162f5aac639 +Author: Bryce Harrington +AuthorDate: Fri Aug 24 10:17:03 2018 -0700 +Commit: Bryce Harrington +CommitDate: Fri Sep 14 12:42:22 2018 -0700 + + doc: Drop tmpl support + + Fix distcheck by dropping use of the now-obsolete gtkdoc-mktmpl. + + In preparation for the upcoming 1.16 release, I've made a few changes to + get distcheck to pass. I also updated it to run on Ubuntu 18.04, but + found that on newer distros distcheck won't run due to missing + gtkdoc-mktmpl, which has been deprecated upstream for some time. The + patch below disables everything that references it, and enables + distcheck to finish successfully. + + Unfortunately, this probably regresses portions of our document + generation, and thus will need some reimplementation work. Anyone got + time to investigate a better solution for this? + + build/Makefile.am.gtk-doc | 25 ++++--------------------- + doc/public/Makefile.am | 3 --- + 2 files changed, 4 insertions(+), 24 deletions(-) + +commit ad7ac7dbcae12ac26ba007ffdf1f67644cb46731 +Author: Bryce Harrington +AuthorDate: Fri Sep 14 11:31:30 2018 -0700 +Commit: Bryce Harrington +CommitDate: Fri Sep 14 11:34:22 2018 -0700 + + Normalize one more test image with minor gradient differences + + For me, with this fix, the base image test cases now pass 100%, when + running: + + make test TARGETS=image FORMAT=rgba + + Signed-off-by: Bryce Harrington + + .../extended-blend-alpha-mask.argb32.ref.png | Bin 9221 -> 10404 bytes + test/reference/text-antialias-subpixel-vbgr.ref.png | Bin 1075 -> 1170 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit 53e4775327d30014d2f1be649c745a194f2a8e87 +Author: Bryce Harrington +AuthorDate: Fri Sep 14 10:34:24 2018 -0700 +Commit: Bryce Harrington +CommitDate: Fri Sep 14 11:34:22 2018 -0700 + + Normalize more test reference images with minor text rendering differences + + The discrepancies in these tests appear to all be font rendering / + antialiasing, probably due to algorithmic changes in Pixman. + + Some of these reference images were updated in Federico's recent patch, + so the fact that they differ on my system may indicate there may be some + system dependencies beyond just pixman, that can cause test result + variation from person to person. Ideally, these would be isolated and + the tests modified to not have such dependencies. + + Signed-off-by: Bryce Harrington + + test/reference/pthread-show-text.ref.png | Bin 37361 -> 41865 bytes + test/reference/record-select-font-face.ref.png | Bin 1891 -> 1972 bytes + test/reference/record-text-transform.ref.png | Bin 5377 -> 5446 bytes + test/reference/record1414x-select-font-face.ref.png | Bin 2601 -> 2945 bytes + test/reference/record1414x-text-transform.ref.png | Bin 8395 -> 8640 bytes + test/reference/record2x-select-font-face.ref.png | Bin 3770 -> 4251 bytes + test/reference/record2x-text-transform.ref.png | Bin 13103 -> 13337 bytes + test/reference/record90-select-font-face.ref.png | Bin 1985 -> 2084 bytes + test/reference/record90-text-transform.ref.png | Bin 5631 -> 5701 bytes + test/reference/recordflip-select-font-face.ref.png | Bin 1811 -> 1939 bytes + test/reference/recordflip-text-transform.ref.png | Bin 5448 -> 5528 bytes + .../recordflip-whole-select-font-face.ref.png | Bin 1811 -> 1939 bytes + .../recordflip-whole-text-transform.ref.png | Bin 5448 -> 5528 bytes + test/reference/smask-text.ref.png | Bin 1678 -> 1846 bytes + test/reference/smask.ref.png | Bin 3453 -> 3457 bytes + test/reference/text-antialias-subpixel-bgr.ref.png | Bin 1068 -> 1118 bytes + test/reference/text-antialias-subpixel-rgb.ref.png | Bin 1034 -> 1104 bytes + test/reference/text-antialias-subpixel-vrgb.ref.png | Bin 1091 -> 1182 bytes + test/reference/text-antialias-subpixel.ref.png | Bin 1034 -> 1104 bytes + test/reference/text-unhinted-metrics.ref.png | Bin 8047 -> 8431 bytes + 20 files changed, 0 insertions(+), 0 deletions(-) + +commit 201791a52dab97e879e6722979cb03fbe2a89e51 +Author: Bryce Harrington +AuthorDate: Wed Sep 5 19:12:29 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Sep 5 19:12:29 2018 -0700 + + gstate: Minor grammar copyedit + + src/cairo-gstate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2b1f096145d00fdeb5e0f4990408205350460130 +Author: Federico Mena Quintero +AuthorDate: Thu Mar 8 17:50:43 2018 -0600 +Commit: Bryce Harrington +CommitDate: Wed Sep 5 17:00:44 2018 -0700 + + Normalize test reference images with minor text rendering differences + + [In testing, I was able to reproduce Federico's results for most, but + not all, of the test images. There might be some additional + platform-specific discrepancies that need ironed out, but this is a + solid step forward in any case. + + Results for a quick run against just the image backend on my system: + + --bryce] + + Signed-off-by: Bryce Harrington + Bryce Harrington + Signed-off-by: Bryce Harrington + + test/reference/clip-text.ref.png | Bin 912 -> 904 bytes + test/reference/ft-text-antialias-none.ref.png | Bin 336 -> 287 bytes + test/reference/halo-transform.ref.png | Bin 15265 -> 15272 bytes + test/reference/halo.ref.png | Bin 8631 -> 8600 bytes + test/reference/operator-clear.argb32.ref.png | Bin 1061 -> 1058 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 940 -> 947 bytes + test/reference/operator-source.argb32.ref.png | Bin 5619 -> 5645 bytes + test/reference/operator-source.rgb24.ref.png | Bin 4010 -> 4028 bytes + test/reference/pthread-show-text.ref.png | Bin 30199 -> 37361 bytes + test/reference/record-select-font-face.ref.png | Bin 1417 -> 1891 bytes + test/reference/record-text-transform.ref.png | Bin 5281 -> 5377 bytes + test/reference/record1414x-select-font-face.ref.png | Bin 2018 -> 2601 bytes + test/reference/record1414x-text-transform.ref.png | Bin 8365 -> 8395 bytes + test/reference/record2x-select-font-face.ref.png | Bin 3098 -> 3770 bytes + test/reference/record2x-text-transform.ref.png | Bin 13072 -> 13103 bytes + test/reference/record90-select-font-face.ref.png | Bin 1480 -> 1985 bytes + test/reference/record90-text-transform.ref.png | Bin 5481 -> 5631 bytes + test/reference/recordflip-select-font-face.ref.png | Bin 1395 -> 1811 bytes + test/reference/recordflip-text-transform.ref.png | Bin 5343 -> 5448 bytes + .../recordflip-whole-select-font-face.ref.png | Bin 1395 -> 1811 bytes + .../recordflip-whole-text-transform.ref.png | Bin 5343 -> 5448 bytes + test/reference/smask-text.ref.png | Bin 1661 -> 1678 bytes + test/reference/smask.ref.png | Bin 3422 -> 3453 bytes + test/reference/text-antialias-subpixel-bgr.ref.png | Bin 1124 -> 1068 bytes + test/reference/text-antialias-subpixel-rgb.ref.png | Bin 1109 -> 1034 bytes + test/reference/text-antialias-subpixel-vbgr.ref.png | Bin 1205 -> 1075 bytes + test/reference/text-antialias-subpixel-vrgb.ref.png | Bin 1180 -> 1091 bytes + test/reference/text-antialias-subpixel.ref.png | Bin 1109 -> 1034 bytes + test/reference/text-pattern.ref.png | Bin 3455 -> 3402 bytes + test/reference/text-unhinted-metrics.ref.png | Bin 4104 -> 8047 bytes + test/reference/unbounded-operator.argb32.ref.png | Bin 2744 -> 2786 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1308 -> 1314 bytes + test/reference/user-font-proxy.ref.png | Bin 16981 -> 16961 bytes + test/reference/user-font-rescale.ref.png | Bin 14883 -> 14875 bytes + 34 files changed, 0 insertions(+), 0 deletions(-) + +commit fb24d7b737e80ed684bd8c9f4dea5e3c50d778e9 +Author: Federico Mena Quintero +AuthorDate: Thu Mar 8 18:23:47 2018 -0600 +Commit: Bryce Harrington +CommitDate: Wed Sep 5 17:00:44 2018 -0700 + + Normalize test images with minor gradient differences + + Signed-off-by: Bryce Harrington + Bryce Harrington + Signed-off-by: Bryce Harrington + + test/reference/clip-operator.argb32.ref.png | Bin 8514 -> 8507 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3421 -> 3417 bytes + test/reference/coverage-rhombus.ref.png | Bin 7053 -> 9001 bytes + test/reference/extended-blend-alpha.argb32.ref.png | Bin 9406 -> 9638 bytes + test/reference/extended-blend-alpha.rgb24.ref.png | Bin 5740 -> 5517 bytes + .../extended-blend-solid-alpha.argb32.ref.png | Bin 9406 -> 9638 bytes + .../extended-blend-solid-alpha.rgb24.ref.png | Bin 5740 -> 5517 bytes + test/reference/extended-blend-solid.rgb24.ref.png | Bin 3784 -> 3836 bytes + test/reference/extended-blend.rgb24.ref.png | Bin 3784 -> 3836 bytes + test/reference/fallback.argb32.ref.png | Bin 4133 -> 4111 bytes + test/reference/fallback.rgb24.ref.png | Bin 3283 -> 3255 bytes + .../radial-gradient-mask-source.argb32.ref.png | Bin 145713 -> 134938 bytes + .../radial-gradient-mask-source.rgb24.ref.png | Bin 150945 -> 141840 bytes + test/reference/radial-gradient-source.ref.png | Bin 408848 -> 423689 bytes + test/reference/radial-gradient.ref.png | Bin 382283 -> 383391 bytes + 15 files changed, 0 insertions(+), 0 deletions(-) + +commit cfc90ca91e1cd506bf6176b9db2cbcd4323bfd1a +Author: Federico Mena Quintero +AuthorDate: Thu Mar 8 15:44:40 2018 -0600 +Commit: Bryce Harrington +CommitDate: Wed Sep 5 17:00:44 2018 -0700 + + Normalize extended-blend-mask.{argb32,rgb24}.ref.png + + I don't see how the old reference file could have been generated. + Things I tried: + + * Using an old pixman (but it seems that the relevant code for Adobe + extended blend modes has not changed?) + + * Using the Cairo version where the test was first introduced. + + * Changing the alpha value from .5 to something else. + + Signed-off-by: Bryce Harrington + Tested-by: Bryce Harrington + Signed-off-by: Bryce Harrington + + test/reference/extended-blend-mask.argb32.ref.png | Bin 3959 -> 4069 bytes + test/reference/extended-blend-mask.rgb24.ref.png | Bin 3634 -> 3735 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit 78a5d543b65491bb34094235364fead82904d54d +Author: Federico Mena Quintero +AuthorDate: Thu Mar 8 13:27:38 2018 -0600 +Commit: Bryce Harrington +CommitDate: Wed Sep 5 17:00:44 2018 -0700 + + test/extended-blend.c: Remove obsolete comments about buggy librsvg + + The comment said that using CAIRO_OPERATOR_SOURCE for the background + triggered a librsvg bug, but the relevant commit message does not even + include a link to a librsvg bug. + + Also, changing it from OVER to SOURCE completely breaks these + tests (the reference images don't match at all), so this comment is + stale. Just remove it. + + Signed-off-by: Bryce Harrington + + test/extended-blend.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 38fc475995afade7edfe43af4bea6345ab989ea5 +Author: Federico Mena Quintero +AuthorDate: Tue Feb 27 17:44:03 2018 -0600 +Commit: Bryce Harrington +CommitDate: Wed Sep 5 17:00:44 2018 -0700 + + cairo-analysis-surface: Quell invalid uninitialized variable warning + + Signed-off-by: Bryce Harrington + + src/cairo-analysis-surface.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 5de2667b76eb484e916b2b0f0ba9e85750d44026 +Author: Bryce Harrington +AuthorDate: Fri Aug 24 09:33:50 2018 -0700 +Commit: Bryce Harrington +CommitDate: Fri Aug 24 09:33:50 2018 -0700 + + Fix sp. sheering + + Pointed out by keith.briggs@bt.com + + src/cairo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ad57c6405017126f5a48d0c1146521d1fa8cf399 +Author: Bryce Harrington +AuthorDate: Thu Aug 16 20:12:12 2018 -0700 +Commit: Bryce Harrington +CommitDate: Thu Aug 16 20:14:57 2018 -0700 + + doc: Add missing symbols to sections for recently added APIs + + doc/public/cairo-sections.txt | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 3476aa9b68461bfa4304250fca1a2aa006e7515d +Author: Bryce Harrington +AuthorDate: Thu Aug 16 18:59:32 2018 -0700 +Commit: Bryce Harrington +CommitDate: Thu Aug 16 20:14:57 2018 -0700 + + build: Sp. fix + + build/Makefile.am.gtk-doc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2cf141f6905b5bfd02bd166ed53b745112804d33 +Author: Bryce Harrington +AuthorDate: Thu Aug 16 18:39:40 2018 -0700 +Commit: Bryce Harrington +CommitDate: Thu Aug 16 20:14:57 2018 -0700 + + Convert 3 headers to UTF8 + + Fix distcheck, which was failing on the copyright symbols in these + files, because their encoding was not being detected as UTF-8. + + src/cairo-quartz-image.h | 2 +- + src/cairo-quartz.h | 2 +- + src/cairo-vg.h | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +commit 3ec4aa24aa50e271f9b23dd85a77385618e82986 +Author: Behdad Esfahbod +AuthorDate: Mon Jul 16 13:54:45 2018 +0200 +Commit: Behdad Esfahbod +CommitDate: Mon Jul 16 13:55:20 2018 +0200 + + [ft] Implement some more color conversion routines + + Makes new COLR/CPAL implementation in FreeType work with cairo now. + Ie. Microsoft's Segoe UI Emoji Regular font renders (instead of + crashing cairo.) + + src/cairo-ft-font.c | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +commit 61122127943dcaff41501e1b06df2a852c576e9b +Author: Bryce Harrington +AuthorDate: Tue Jun 12 16:04:03 2018 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jun 15 22:15:19 2018 -0700 + + scaled-font: Fix glyph and cluster count checks (CID #983386) + + num_glyphs and num_clusters are explicitly checked to be non-NULL at the + beginning of this routine, and by this point in the code both have been + deref'd multiple times, so checking them for NULL here again is + superfluous. + + It looks like the intent here is to verify the glyphs and clusters + arrays are non-NULL unless their counts are zero, so change the tests + accordingly. + + Coverity ID: #983386 + + Signed-off-by: Bryce Harrington + + src/cairo-scaled-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9c7d5a49c6c7a983c6798daf7362775ef1711239 +Author: Bryce Harrington +AuthorDate: Tue Jun 12 12:34:48 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 16:17:58 2018 -0700 + + gl: For glesv3 detection, use glesv2.pc + header check + + There is no glesv3.pc provided by mesa, perhaps because + the glesv3 support is provided by the libGLESv2 library. + Don't bother testing for glesv3.pc, just check for glesv2.pc + and then search for the gl3.h header file. + + This fixes an issue reported by Theo Veenker, where building + with glesv3 enabled would result in a cairo.pc file that depends + on the non-existant glesv3.pc. + + configure.ac | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +commit 2b6b23fd8cfae768145e9a9f1f27eb0415e2a617 +Author: Bryce Harrington +AuthorDate: Tue Jun 12 17:18:58 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + polygon-intersection: Clarify ptr checks for right edges (CID #1160730) + + The code is checking a variable is non-NULL after it's already been + dereferenced in an assert. + + I'm not certain whether the assert should be conditionalized to only be + tested when right != NULL (which would allow edges_end() to still be + invoked), or if the function should assert right as non-NULL always. + + Coverity ID: #1160730 + Signed-off-by: Bryce Harrington + Reviewed-By: Uli Schlachter + + src/cairo-polygon-intersect.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 5a4a86c27f733645a2276d0a3bd2494e73b3dc88 +Author: Bryce Harrington +AuthorDate: Tue Jun 12 17:06:13 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + type1-subset: Fix incorrect null ptr check from find_token() (CID #1160662) + + subrs was already tested for NULL prior to this, and will never be NULL + at this point. Meanwhile, find_token()'s return is unchecked (it can + return NULL and is checked in all other calls). Quite clearly, this is + a copy-paste error from the prior find_token call, and the intent was to + check array_start not subrs. + + Coverity ID: #1160662 + Signed-off-by: Bryce Harrington + Reviewed-By: Uli Schlachter + + src/cairo-type1-subset.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9b0355a591125a8d7fe20daa82504759e6d472e7 +Author: Bryce Harrington +AuthorDate: Tue Jun 12 15:08:31 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + pdf: Fix potential null ptr deref when creating smask groups (CID #1159559) + + Patch 37a22669 improved performance by using bounding box extents. + However, the code appears to be incorrect. If extents is non-NULL it + copies its contents to group->extents, otherwise it sets group->extents + to sensible defaults, but then goes ahead and tries to copy the + undefined contents. This second copy is unnecessary if extents is + non-NULL and will cause a crash if it is NULL. + + Drop the extra copy, guessing it's just a typo. + + Coverity ID: #1159559 + Signed-off-by: Bryce Harrington + Reviewed-By: Uli Schlachter + + src/cairo-pdf-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 9c56502e064b7896207a80e45c519ad4847e231c +Author: Bryce Harrington +AuthorDate: Tue Jun 12 14:23:40 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + bo: Free event_y in case of error to prevent memory leak (CID ##1160682) + + If the call to _cairo_malloc_ab_plus_c() fails, it returns an error + without first freeing event_y. + + Coverity ID: #1160682 + Signed-off-by: Bryce Harrington + Reviewed-By: Uli Schlachter + + src/cairo-bentley-ottmann.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 1c3ecfac133e5f284934fef9af988405e24347da +Author: Bryce Harrington +AuthorDate: Wed Jun 6 11:06:18 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + snapshot: Don't use extra after it's been freed (CID #220086) + + Note this changes the semantics of the value of extra_out such that it + is set to NULL instead of left undefined in case an error is returned. + + Coverity ID: 220086 + Signed-off-by: Bryce Harrington + Reviewed-By: Uli Schlachter + + src/cairo-surface-snapshot.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 37655af38d320336fe00894dbc2e47d16ea58497 +Author: Bryce Harrington +AuthorDate: Wed Jun 6 10:32:37 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + bo: Check null return from _cairo_malloc_ab() (CID #1159556) + + _cairo_malloc_ab() can return NULL under some circumstances, and all + other callers of this routine in the Cairo codebase check its return, so + do so here as well. + + Coverity ID: #1159556 + Signed-off-by: Bryce Harrington + Reviewed-by: Uli Schlachter + + src/cairo-bentley-ottmann.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 9d2e3646fa04c98747ae3b05a9be433eda7f2730 +Author: Bryce Harrington +AuthorDate: Wed Jun 6 09:30:00 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:50 2018 -0700 + + script-surface: Check for invalid ids (CID #1159557, 1159558) + + If the bitmap's min is non-zero, _bitmap_next_id() could break out of + its loop early, before initializing the prev variable. prev would then + be dereferenced without a null ptr check. This condition should never + occur in practice, so add an assert() to assure it doesn't. + + Same issue is present in trace.c. + + Coverity IDs: #1159557, #1159558 + Reviewed-By: Uli Schlachter + Signed-off-by: Bryce Harrington + + src/cairo-script-surface.c | 1 + + util/cairo-trace/trace.c | 2 ++ + 2 files changed, 3 insertions(+) + +commit d09d2ebfd5845de7b3fa12b76c4abead4d587016 +Author: Bryce Harrington +AuthorDate: Wed Jun 13 15:21:06 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:21:06 2018 -0700 + + Bump version for new development tree, 1.15.13 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit dc93ea771102cd2917f20bbe4a341f77b3ac18e1 +Author: Bryce Harrington +AuthorDate: Wed Jun 13 15:20:34 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jun 13 15:20:34 2018 -0700 + + test: Use C comment syntax, not C++ + + test/font-variations.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ccdb8e23073ac1e27bd5fd7ea94a6c200a3e9c72 +Author: Alexandre Bique +AuthorDate: Fri May 18 11:39:33 2018 +0200 +Commit: Bryce Harrington +CommitDate: Thu May 31 18:39:51 2018 -0700 + + Fix test compilation when font-config is disabled + + Building cairo without font-config fails because test/font-variations.c + was getting compiled without freetype2. + + Reviewed-by: Bryce Harrington + + test/font-variations.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit c6e12d33bff84f26cff22a1c0cf1fc0b929eedb0 +Author: Bryce Harrington +AuthorDate: Thu May 31 18:31:12 2018 -0700 +Commit: Bryce Harrington +CommitDate: Thu May 31 18:31:12 2018 -0700 + + win32: Copyedit recent comments + + src/win32/cairo-win32-device.c | 7 ++++--- + src/win32/cairo-win32-gdi-compositor.c | 3 ++- + 2 files changed, 6 insertions(+), 4 deletions(-) + +commit d4355ecee26f6ca7db26874ce4dbfec599f6040e +Author: Vasily Galkin +AuthorDate: Sat Apr 28 22:27:01 2018 +0300 +Commit: Bryce Harrington +CommitDate: Thu May 31 17:34:17 2018 -0700 + + win32: Allow GDI operations for argb32 surfaces (allowed by surface flags) + + This finishes a patch series to speed up CAIRO_OPERATOR_SOURCE when used + to copy data to a argb32 cairo surface corresponding to a win32 dc from + a "backbuffer" - DibSection-based cairo surface created with + cairo_surface_create_similar(). + + This final patch allows the GDI compositor to be used on argb32 + surfaces. For display surfaces, only copying is allowed with gdi (by + BitBlt), since other operations are filtered by flags in + implementations. + + But since copying pixels is the only operation used in the most common + scenario (prepare an offscreen image and send it to the screen) - this + is important for presenting argb32 windows with Cairo directly or with + gtk+gdk (which nowadays always creates argb32 windows). + + Before this patch pixel copy worked by: + 1. mapping image to memory (by copying data from window dc to system + memory which is very slow on windows maybe due to gpu or interprocess + access) + 2. copying new data over that image. + 3. copying updated image from system memory back to window dc. + + After this patch there is only one step: + + 2+3. Copying new data over window dc. + + Completely eliminating step 1 gives a very huge speedup and allows + argb32 cairo drawing be as fast as typical dibsection-buffered gdi + drawing. + + There is quick & dirty cairo-vs-gdi perf test made for this patch set: + https://gitlab.gnome.org/galkinvv/cairo/snippets/109 + See the Cairo mailing list for April 2018 for data and discussion of + performance improvements. + + End-user visible speedup does present too - it relates to the following bug + + https://gitlab.gnome.org/GNOME/meld/issues/133 + + This Cairo speedup allows more simultaneous meld windows + without eating 100% of cpu core time on spinner rendering. + + src/win32/cairo-win32-gdi-compositor.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 0cb7aad2a375f957803c5f34fb6088e330f17f85 +Author: Vasily Galkin +AuthorDate: Sat Apr 28 22:27:00 2018 +0300 +Commit: Bryce Harrington +CommitDate: Thu May 31 17:29:26 2018 -0700 + + win32: CAIRO_WIN32_SURFACE_CAN_RGB_BRUSH and other argb32 flags set+check + + This belongs to a patch series that speeds up CAIRO_OPERATOR_SOURCE when + used to copy data to an argb32 cairo surface corresponding to a win32 dc + from a "backbuffer" - DibSection-based cairo surface created with + cairo_surface_create_similar(). + + This patch introduces checks to ensure that no solid brush GDI operations + are attempted when using argb32 surfaces. Doing this allows enabling + usage of the GDI compositor when these surfaces are in use. + + To make these checks work, _cairo_win32_flags_for_dc disables + STRETCHBLT, STRETCHDIB and RGB_BRUSH in the argb32 flag. + + _cairo_win32_flags_for_dc() is also refactored to make the distinction + between rgb24 and argb32 more readable. All logic & flags for rgb24 + surfaces are retained, except for the addition of + CAIRO_WIN32_SURFACE_CAN_RGB_BRUSH. + + The logic of forbidding AlphaBlend on display surfaces is also + kept as is without investigation. + + src/win32/cairo-win32-device.c | 36 ++++++++++++++++++++++------------ + src/win32/cairo-win32-gdi-compositor.c | 18 ++++++++++++++++- + 2 files changed, 40 insertions(+), 14 deletions(-) + +commit 884275c3ab6e76ec2723cc889060b2791868190d +Author: Vasily Galkin +AuthorDate: Sat Apr 28 22:26:59 2018 +0300 +Commit: Bryce Harrington +CommitDate: Thu May 31 17:24:50 2018 -0700 + + win32: Introduce new flag to mark surfaces that support solid brush drawing + + This is part of a patch series to speed up CAIRO_OPERATOR_SOURCE when + used to copy data to an argb32 cairo surface corresponding to a win32 dc + from a "backbuffer" - DibSection-based cairo surface created with + cairo_surface_create_similar(). + + This initial patch presents only private header changes without changing + any implementation logic. + + The big problem with argb32 surfaces and GDI is that GDI is unable to + correctly set the alpha channel when using operations other than BitBlt + and AlphaBlend. + + To solve this, a CAIRO_WIN32_SURFACE_CAN_RGB_BRUSH flag is introduced in + this commit to be mark surfaces that correctly handle such brushes + - essentially all surface types except argb32. + The _cairo_win32_flags_for_dc() call receives a new argument that is + used to calculate the flag. + + src/win32/cairo-win32-device.c | 2 +- + src/win32/cairo-win32-display-surface.c | 4 ++-- + src/win32/cairo-win32-printing-surface.c | 2 +- + src/win32/cairo-win32-private.h | 5 ++++- + 4 files changed, 8 insertions(+), 5 deletions(-) + +commit 85fe4deee4bb01a211924d92263540e93cd9e5db +Author: Bryce Harrington +AuthorDate: Tue May 29 12:15:47 2018 -0700 +Commit: Bryce Harrington +CommitDate: Tue May 29 12:15:47 2018 -0700 + + gl: Whitespace cleanup + + src/cairo-gl-composite.c | 176 ++++++++++++++++----------------- + src/cairo-gl-device.c | 42 ++++---- + src/cairo-gl-glyphs.c | 46 ++++----- + src/cairo-gl-gradient.c | 44 ++++----- + src/cairo-gl-info.c | 2 +- + src/cairo-gl-msaa-compositor.c | 24 ++--- + src/cairo-gl-operand.c | 110 ++++++++++----------- + src/cairo-gl-shaders.c | 168 +++++++++++++++---------------- + src/cairo-gl-spans-compositor.c | 54 +++++----- + src/cairo-gl-surface-legacy.c | 213 ++++++++++++++++++++-------------------- + src/cairo-gl-surface.c | 160 +++++++++++++++--------------- + src/cairo-gl-traps-compositor.c | 20 ++-- + src/cairo-glx-context.c | 2 +- + 13 files changed, 530 insertions(+), 531 deletions(-) + +commit 4b9333acf5878a0665967b0440069a48e572842e +Author: Bryce Harrington +AuthorDate: Mon May 7 16:50:42 2018 -0700 +Commit: Bryce Harrington +CommitDate: Mon May 7 16:50:42 2018 -0700 + + Drop stray patch from prior commit + + ...intersection-Check-for-invalid-right-edge.patch | 26 ---------------------- + 1 file changed, 26 deletions(-) + +commit 199823938780c8e50099b627d3e9137acba7a263 +Author: Adrian Johnson +AuthorDate: Sat Jul 8 09:28:03 2017 +0930 +Commit: Bryce Harrington +CommitDate: Mon May 7 16:35:51 2018 -0700 + + Use _cairo_malloc instead of malloc + + _cairo_malloc(0) always returns NULL, but has not been used + consistently. This patch replaces many calls to malloc() with + _cairo_malloc(). + + Fixes: fdo# 101547 + CVE: CVE-2017-9814 Heap buffer overflow at cairo-truetype-subset.c:1299 + Reviewed-by: Bryce Harrington + + ...intersection-Check-for-invalid-right-edge.patch | 26 ++++++++++++++++ + src/cairo-analysis-surface.c | 6 ++-- + src/cairo-base64-stream.c | 2 +- + src/cairo-base85-stream.c | 2 +- + src/cairo-cff-subset.c | 36 +++++++++++----------- + src/cairo-clip-tor-scan-converter.c | 2 +- + src/cairo-clip.c | 8 ++--- + src/cairo-cogl-context.c | 2 +- + src/cairo-cogl-gradient.c | 4 +-- + src/cairo-cogl-surface.c | 6 ++-- + src/cairo-damage.c | 6 ++-- + src/cairo-default-context.c | 2 +- + src/cairo-deflate-stream.c | 2 +- + src/cairo-font-face-twin.c | 4 +-- + src/cairo-font-options.c | 4 +-- + src/cairo-freelist.c | 4 +-- + src/cairo-ft-font.c | 10 +++--- + src/cairo-gl-device.c | 2 +- + src/cairo-gl-gradient.c | 2 +- + src/cairo-gl-shaders.c | 2 +- + src/cairo-gl-source.c | 4 +-- + src/cairo-gl-surface.c | 2 +- + src/cairo-gstate.c | 2 +- + src/cairo-hash.c | 2 +- + src/cairo-image-compositor.c | 2 +- + src/cairo-image-source.c | 10 +++--- + src/cairo-image-surface.c | 2 +- + src/cairo-lzw.c | 2 +- + src/cairo-mempool.c | 2 +- + src/cairo-misc.c | 2 +- + src/cairo-mono-scan-converter.c | 2 +- + src/cairo-os2-surface.c | 4 +-- + src/cairo-output-stream.c | 14 ++++----- + src/cairo-paginated-surface.c | 2 +- + src/cairo-path-fixed.c | 2 +- + src/cairo-path.c | 4 +-- + src/cairo-pattern.c | 24 +++++++-------- + src/cairo-pdf-interchange.c | 2 +- + src/cairo-pdf-operators.c | 2 +- + src/cairo-pdf-shading.c | 2 +- + src/cairo-pdf-surface.c | 12 ++++---- + src/cairo-ps-surface.c | 10 +++--- + src/cairo-qt-surface.cpp | 8 ++--- + src/cairo-quartz-font.c | 6 ++-- + src/cairo-quartz-image-surface.c | 2 +- + src/cairo-quartz-surface.c | 6 ++-- + src/cairo-recording-surface.c | 32 +++++++++---------- + src/cairo-scaled-font-subsets.c | 14 ++++----- + src/cairo-scaled-font.c | 8 ++--- + src/cairo-script-surface.c | 16 +++++----- + src/cairo-skia-surface.cpp | 2 +- + src/cairo-surface-observer.c | 6 ++-- + src/cairo-surface-snapshot.c | 4 +-- + src/cairo-surface-subsurface.c | 4 +-- + src/cairo-surface.c | 2 +- + src/cairo-svg-surface.c | 4 +-- + src/cairo-tag-attributes.c | 4 +-- + src/cairo-tag-stack.c | 2 +- + src/cairo-tee-surface.c | 2 +- + src/cairo-tor-scan-converter.c | 4 +-- + src/cairo-tor22-scan-converter.c | 4 +-- + src/cairo-toy-font-face.c | 2 +- + src/cairo-truetype-subset.c | 20 ++++++------ + src/cairo-type1-fallback.c | 2 +- + src/cairo-type1-subset.c | 16 +++++----- + src/cairo-type3-glyph-surface.c | 2 +- + src/cairo-user-font.c | 4 +-- + src/cairo-vg-surface.c | 6 ++-- + src/cairo-xcb-connection.c | 6 ++-- + src/cairo-xcb-screen.c | 2 +- + src/cairo-xcb-shm.c | 2 +- + src/cairo-xcb-surface-core.c | 4 +-- + src/cairo-xcb-surface-render.c | 14 ++++----- + src/cairo-xcb-surface.c | 2 +- + src/cairo-xlib-display.c | 2 +- + src/cairo-xlib-render-compositor.c | 8 ++--- + src/cairo-xlib-screen.c | 2 +- + src/cairo-xlib-source.c | 4 +-- + src/cairo-xlib-surface-shm.c | 8 ++--- + src/cairo-xlib-surface.c | 2 +- + src/cairo-xlib-visual.c | 2 +- + src/cairo-xlib-xcb-surface.c | 4 +-- + src/cairo-xml-surface.c | 6 ++-- + src/drm/cairo-drm-gallium-surface.c | 8 ++--- + src/drm/cairo-drm-i915-shader.c | 2 +- + src/drm/cairo-drm-i915-spans.c | 2 +- + src/drm/cairo-drm-i915-surface.c | 10 +++--- + src/drm/cairo-drm-i965-glyphs.c | 2 +- + src/drm/cairo-drm-i965-spans.c | 2 +- + src/drm/cairo-drm-i965-surface.c | 6 ++-- + src/drm/cairo-drm-intel-surface.c | 6 ++-- + src/drm/cairo-drm-intel.c | 4 +-- + src/drm/cairo-drm-radeon-surface.c | 6 ++-- + src/skia/cairo-skia-surface.cpp | 2 +- + src/test-compositor-surface.c | 2 +- + src/test-null-compositor-surface.c | 2 +- + src/test-paginated-surface.c | 2 +- + src/win32/cairo-win32-debug.c | 2 +- + src/win32/cairo-win32-device.c | 2 +- + src/win32/cairo-win32-display-surface.c | 6 ++-- + src/win32/cairo-win32-font.c | 10 +++--- + src/win32/cairo-win32-printing-surface.c | 6 ++-- + 102 files changed, 300 insertions(+), 274 deletions(-) + +commit 7554822dd0b52d33ec7898e81b59e97164b00142 +Author: Uli Schlachter +AuthorDate: Sat Apr 21 09:37:06 2018 +0200 +Commit: Uli Schlachter +CommitDate: Sat Apr 21 09:37:06 2018 +0200 + + Fix assertion failure in the freetype backend + + Fonts are kept in a hash table, so when creating a new font, the code + first checks the hash table for an already-existing entry and only then + is a new instance really created. There is an assert that checks that + the key used for the hash table lookup is the same as the instance that + is created later has, because otherwise the hash table was checked + incorrectly. + + This assert failed in some conditions. + + Fix this by fixing some places that initialised ft hash keys in a wrong + way. + + Patch by Behdad Esfahbod and submitted via bugzilla. + + Source: https://bugs.freedesktop.org/show_bug.cgi?id=105746#c4 + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105746 + Signed-off-by: Uli Schlachter + + src/cairo-ft-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 7149686456ec3c481fa1d3dbe76a0dab1e42b519 +Author: Bryce Harrington +AuthorDate: Wed Apr 4 11:48:11 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Apr 11 18:35:40 2018 -0700 + + 1.15.12 release + + Signed-off-by: Bryce Harrington + + NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 50 insertions(+), 1 deletion(-) + +commit caf6f71d692de5b2afd97bf4870de8c56b454408 +Author: Bryce Harrington +AuthorDate: Tue Apr 3 18:01:09 2018 -0700 +Commit: Bryce Harrington +CommitDate: Wed Apr 11 13:27:53 2018 -0700 + + configure: Conditionalize color font feature for older freetype2 + + FT_HAS_COLOR() macro is unavailable in older freetype2 without the color + font feature. + + Compile and link a source including FT_HAS_COLOR(); if it fails (which + can happen on older FreeType2) then define FT_HAS_COLOR(x) as (0). + + Patch from suzuki toshiya + + Reviewed-by: Bryce Harrington + + configure.ac | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 38806bc3c09fbfbca0cccb4d0cc557257682db62 +Author: Bryce Harrington +AuthorDate: Mon Apr 2 20:04:16 2018 -0700 +Commit: Bryce Harrington +CommitDate: Mon Apr 2 20:20:00 2018 -0700 + + Disable skia from configure + + Implement suggestion by Adrian Johnson to comment out skia in + configure.ac to avoid presenting it as an option to users. This was + discussed on the Cairo mailing list in September 2017. + + Skia is not API stable and is not available in packaged+versioned forms, + resulting in it being a continually moving target. I.e. it's pretty + much always unusably out of date. The last update to the skia backend + was in 2014, and had not been updated very regularly prior to that. + + We'll simply disable it for now. If no one complains by the next Cairo + snapshot release, we'll assume no one is needing it and will drop the + code entirely. + + Meanwhile, if anyone does need it, it can be uncommented and used. + + (The changes to the win32 build config appear to be automatically + generated as a result of disabling the feature in configure. I'm + committing them to avoid confusion.) + + boilerplate/Makefile.win32.features | 12 ----------- + build/Makefile.win32.features | 1 - + build/Makefile.win32.features-h | 3 --- + build/configure.ac.features | 2 +- + configure.ac | 42 ++++++++++++++++++++----------------- + src/Makefile.win32.features | 16 -------------- + 6 files changed, 24 insertions(+), 52 deletions(-) + +commit dcafd9e684ba0c58d15558a11cdb6c6933b95198 +Author: Bryce Harrington +AuthorDate: Mon Apr 2 17:51:08 2018 -0700 +Commit: Bryce Harrington +CommitDate: Mon Apr 2 17:51:08 2018 -0700 + + cairo-version: Fix version references in docs + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=82741 + + src/cairo-version.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 12cb59be7da83cf019933a163cef8d8b2601b7f4 +Author: Unknown +AuthorDate: Thu Nov 9 09:43:02 2017 -0500 +Commit: Bryce Harrington +CommitDate: Mon Apr 2 17:46:58 2018 -0700 + + Cairo trivial typos + + Found using `codespell -q 3 -I cairo-whitelist.txt` + whereby whitelist contained: + ``` + amin + iff + lod + writen + ``` + + Reviewed-by: Bryce Harrington + + build/aclocal.float.m4 | 2 +- + perf/cairo-perf-diff-files.c | 2 +- + perf/micro/long-lines.c | 2 +- + src/cairo-cogl-surface.c | 2 +- + src/cairo-pdf-operators.c | 2 +- + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf-surface.c | 2 +- + src/cairo-ps-surface.c | 2 +- + src/cairo-xlib-surface.c | 2 +- + src/cairo.c | 6 +++--- + src/cairo.h | 2 +- + src/cairoint.h | 2 +- + src/skia/cairo-skia-context.cpp | 2 +- + test/line-width-zero.c | 2 +- + test/mime-data.c | 2 +- + test/skew-extreme.c | 2 +- + util/backtrace-symbols.c | 2 +- + 17 files changed, 19 insertions(+), 19 deletions(-) + +commit 33a348d69809637ba7c48cc31a9f236a5b246ae0 +Author: suzuki toshiya +AuthorDate: Sat Mar 31 21:28:46 2018 +0900 +Commit: Bryce Harrington +CommitDate: Mon Apr 2 11:55:19 2018 -0700 + + csi-trace does not show help + + csi-trace does not show help string correctly, due to a bug in its + command line argument parsing. strcmp returns 0 when there is an exact + match, which means it requires an inverted test. + + Reviewed-by: Bryce Harrington + + util/cairo-script/csi-trace.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 50a6ad5389eab30c86b53fda3e0a247ec34118dc +Author: Uli Schlachter +AuthorDate: Sat Mar 31 13:52:53 2018 +0200 +Commit: Bryce Harrington +CommitDate: Mon Apr 2 11:16:34 2018 -0700 + + pthread-same-source: Refresh reference images + + I already did the same thing in commit 3e22a8580a804. That commit added + a GENERATE_REFERENCE mode that does not use threads and used that for + generating the reference image. + + However, the above commit falls into the range between commits + fb57ea13e04d and 3d94269bd4. The later commit reverts the earlier one, + which changed the way that image downscaling works / is used. + + This means that the reference image that were generated back then were + broken. Thus, regenerating the images is the right thing to do. + + Signed-off-by: Uli Schlachter + Acked-by: Bryce Harrington + + test/reference/pthread-same-source.ref.png | Bin 1076 -> 1002 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit fba7a7ca27b6dde8d90fca25d8618fa2aca3c1aa +Author: Uli Schlachter +AuthorDate: Fri Mar 30 09:25:28 2018 +0200 +Commit: Bryce Harrington +CommitDate: Mon Apr 2 11:08:46 2018 -0700 + + Skip font-variations test for missing fonts + + Signed-off-by: Uli Schlachter + Reviewed-by: Bryce Harrington + + test/font-variations.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1ed124ace201946177eab962d3b07bb2fedf9026 +Author: Uli Schlachter +AuthorDate: Sat Jan 13 11:34:19 2018 +0100 +Commit: Uli Schlachter +CommitDate: Thu Mar 15 21:43:03 2018 +0100 + + Fix a 'memory leak' in the image compositor + + There is a global pixman_glyph_cache_t instance that is initialized on + first use and shows up in valgrind output as a relatively large leak (I + think it was about 200 KiB). The reason for this is that this cache is + not freed by cairo_debug_reset_static_data(). + + This commit wires up freeing the cache to + cairo_debug_reset_static_data(). + + This cache was introduced in commit 615205cf0729 from 2012. + + Signed-off-by: Uli Schlachter + + src/cairo-debug.c | 2 ++ + src/cairo-image-compositor.c | 17 +++++++++++++++++ + src/cairoint.h | 3 +++ + 3 files changed, 22 insertions(+) + +commit 5454b85d4bf2f7bea454c940d90255a15517fa3b +Author: Massimo +AuthorDate: Wed Mar 7 14:11:58 2018 -0600 +Commit: Bryce Harrington +CommitDate: Thu Mar 8 13:30:17 2018 -0800 + + bfo#91271 - Fix access of uninitialized memory + + Valgrind reports that xlib-render-compositor's composite_traps() + accesses uninitialized memory when traps->num_traps == 0. + + This happens in the line that says + + if (xtraps[0].left.p1.y < xtraps[0].left.p2.y) { + + after the 'for' loop. We can actually return early if there are no + trapezoids to render. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91271 + Reviewed-by: Bryce Harrington + + src/cairo-xlib-render-compositor.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 45e3b8f27179cf1130bfa61a09ef366fd313a0e1 +Author: Federico Mena Quintero +AuthorDate: Tue Feb 13 15:04:42 2018 -0600 +Commit: Bryce Harrington +CommitDate: Thu Mar 8 13:30:11 2018 -0800 + + bfo#105084 - Initialize memory properly in _cairo_ft_font_face_create_for_pattern() + + The font_face->ft_options field was not being initialized, leading to + an invalid free(). + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105084 + Reviewed-by: Bryce Harrington + + src/cairo-ft-font.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 7784757b9e271f749b91de27b3472a0151ae2380 +Author: Federico Mena Quintero +AuthorDate: Tue Feb 27 17:54:57 2018 -0600 +Commit: Federico Mena Quintero +CommitDate: Wed Mar 7 14:20:24 2018 -0600 + + Add .gitlab-ci.yml to run the tests automatically + + .gitlab-ci.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +commit 14404ada80f699418263256d7d3d8dddf68be279 +Author: Bryce Harrington +AuthorDate: Wed Feb 28 15:19:06 2018 -0800 +Commit: Bryce Harrington +CommitDate: Wed Feb 28 15:19:06 2018 -0800 + + compiler-private: Define what PLT stands for + + src/cairo-compiler-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 62b724ac848aecbbb35a70c2f7d4685c6c2605f9 +Author: Bryce Harrington +AuthorDate: Tue Feb 6 15:09:08 2018 -0800 +Commit: Bryce Harrington +CommitDate: Tue Feb 6 15:13:00 2018 -0800 + + win32: Fix a few typos in comments + + src/win32/cairo-win32-private.h | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit dbe3d9ea517da51e6be5a19d87f2d02176f0ba00 +Author: Bryce Harrington +AuthorDate: Tue Feb 6 15:08:17 2018 -0800 +Commit: Bryce Harrington +CommitDate: Tue Feb 6 15:13:00 2018 -0800 + + win32: Whitespace cleanup + + src/win32/cairo-win32-display-surface.c | 38 ++++++++++++++++----------------- + src/win32/cairo-win32-private.h | 32 +++++++++++++-------------- + 2 files changed, 35 insertions(+), 35 deletions(-) + +commit 4d07b57c168b88019a5510eaa7e9467149c53f12 +Author: Eric Hoffman +AuthorDate: Wed Apr 26 04:22:25 2017 +0000 +Commit: Bryce Harrington +CommitDate: Tue Feb 6 15:12:33 2018 -0800 + + win32: Fix multi-monitor virtual desktop with negative monitor coords + + Under Win32, when you have a multiple-monitor setup, Windows creates a + 'virtual desktop', which is a rectangle surface that extends across all + monitors. + + The primary monitor always starts with the top-left corner at coordinate + (0,0). If you have any other monitors which extend to the left or + above the primary monitor, the virtual desktop's top-left corner will + actually have coordinates which are negative. + + This creates an issue in Cairo with the desktop DC, i.e. when you use a + DC from the function GetDC(NULL). The same thing can occur with other + third party libraries like GTK, when you access the Cairo surface from + the root window. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100793 + Reviewed-by: Bryce Harrington + + src/win32/cairo-win32-display-surface.c | 42 +++++++++++++++++++++++++++++---- + src/win32/cairo-win32-private.h | 18 ++++++++++++++ + 2 files changed, 56 insertions(+), 4 deletions(-) + +commit a8571a3030a0ac1f29809ab72e5e54a83addcbd2 +Author: Bryce Harrington +AuthorDate: Tue Feb 6 12:06:48 2018 -0800 +Commit: Bryce Harrington +CommitDate: Tue Feb 6 12:06:48 2018 -0800 + + xml: Typo in comment + + src/cairo-xml-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1cbebafe89610329a252b4cc076cd2dccf6e56aa +Author: Bryce Harrington +AuthorDate: Tue Jan 23 19:47:57 2018 -0800 +Commit: Bryce Harrington +CommitDate: Tue Jan 23 19:58:35 2018 -0800 + + font: Check return value from _cairo_ft_unscaled_font_lock_face + + cairo-ft-font.c: In function ‘_cairo_ft_has_color_glyphs’: + cairo-ft-font.c:3011:9: warning: ignoring return value of ‘_cairo_ft_unscaled_font_lock_face’, declared with attribute warn_unused_result [-Wunused-result] + _cairo_ft_unscaled_font_lock_face (unscaled); + ^ + + src/cairo-ft-font.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit bc335a741f2d69b57e5a0d39c471ef14a4a70df4 +Author: Bryce Harrington +AuthorDate: Tue Jan 23 19:14:25 2018 -0800 +Commit: Bryce Harrington +CommitDate: Tue Jan 23 19:20:08 2018 -0800 + + Fix two type casting warnings in get_C_locale() + + cairo-misc.c:806:43: warning: passing argument 1 of ‘_cairo_atomic_ptr_get’ from incompatible pointer type + C = (locale_t) _cairo_atomic_ptr_get (&C_locale); + ^ + + cairo-misc.c:811:45: warning: passing argument 1 of ‘_cairo_atomic_ptr_cmpxchg_impl’ from incompatible pointer type + if (!_cairo_atomic_ptr_cmpxchg (&C_locale, NULL, C)) { + ^ + + Routines are expecting a void** so cast. + + src/cairo-misc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6c675653b1cc325b78eb54dc3669ad207c653e2d +Author: Bryce Harrington +AuthorDate: Mon Jan 22 14:58:46 2018 -0800 +Commit: Bryce Harrington +CommitDate: Mon Jan 22 14:58:46 2018 -0800 + + RELEASING: Refine devel version and tagging + + RELEASING | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +commit 14f5b98d22c79dd85ce6b8b02327c58f46d6d62c +Author: Behdad Esfahbod +AuthorDate: Fri Jan 19 11:10:13 2018 -0800 +Commit: Behdad Esfahbod +CommitDate: Fri Jan 19 11:10:13 2018 -0800 + + Fixup on previous commit + + test/font-variations.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 4a09fec668395532a1b8d3a2344be5eca6c61d14 +Author: Bryce Harrington +AuthorDate: Thu Jan 18 21:02:12 2018 -0800 +Commit: Bryce Harrington +CommitDate: Thu Jan 18 21:02:12 2018 -0800 + + test: Fix compile with older FreeType without FT_Get_Var_Design_Coordinates + + Extend earlier fix to the tests as well. + + test/font-variations.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5795ac9d90c4927e9826cf49687a9f84628d9974 +Author: Behdad Esfahbod +AuthorDate: Mon Jan 15 19:28:56 2018 -0500 +Commit: Behdad Esfahbod +CommitDate: Mon Jan 15 19:28:56 2018 -0500 + + Fix compile with older FreeType without FT_Get_Var_Design_Coordinates + + configure.ac | 2 +- + src/cairo-ft-font.c | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit b7f313a8d2a3049e77b3497dd6040fcfab3b3c9b +Author: Uli Schlachter +AuthorDate: Sat Dec 23 14:09:27 2017 +0100 +Commit: Uli Schlachter +CommitDate: Sat Jan 13 11:30:50 2018 +0100 + + fix warning: variable X might be clobbered by 'longjmp' + + According to "man setjmp", one possible way to avoid variable clobbering + is to declare them as volatile. Thus, this commit turns the variables + that are changed between setjmp() and longjmp() and whose values are + still needed after setjmp() returned the second time into volatile + variables. + + The warning in cairo-bentley-ottmann-rectangular.c is worked around by + not initializing the variable before setjmp(). To be honest, I don't + understand why the compiler warns here at all since the value of update + is clearly not used after setjmp()'s second return. + + This commit re-fixes the warnings that were reintroduced in commit + 82f40285 which reverted b092b63. + + Signed-off-by: Uli Schlachter + Acked-by: Bryce Harrington + + src/cairo-bentley-ottmann-rectangular.c | 4 +++- + src/cairo-png.c | 6 +++--- + 2 files changed, 6 insertions(+), 4 deletions(-) + +commit 62f2037bc06a8eda1aa5ff66b45ce9e8bafe0a9c +Author: Uli Schlachter +AuthorDate: Sat Dec 23 13:22:59 2017 +0100 +Commit: Uli Schlachter +CommitDate: Sat Jan 13 11:30:26 2018 +0100 + + Fix warning: '*' in boolean context + + The full message is: + + warning: ‘*’ in boolean context, suggest ‘&&’ instead + _cairo_malloc((unsigned) (a) * (unsigned) (size))) + ^ + note: in definition of macro ‘_cairo_malloc’ + ((size) ? malloc((unsigned) (size)) : NULL) + ^~~~ + + Signed-off-by: Uli Schlachter + Reviewed-by: Bryce Harrington + + src/cairo-malloc-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c3659d7ef662b55949307ece7b1f613a7dc32620 +Author: Behdad Esfahbod +AuthorDate: Mon Jan 8 10:07:25 2018 +0000 +Commit: Behdad Esfahbod +CommitDate: Mon Jan 8 10:07:25 2018 +0000 + + Use FT_Done_MM_Var() if available + + configure.ac | 2 +- + src/cairo-ft-font.c | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit 37f9a5525da457226317d426e06c55d77da206c1 +Author: Matthias Clasen +AuthorDate: Fri Jan 5 09:10:32 2018 -0500 +Commit: Matthias Clasen +CommitDate: Fri Jan 5 09:10:32 2018 -0500 + + Don't leak memory in font options + + The cairo_font_options_t struct may now contain allocated + memory, so call fini whenever we are about to let go of an + embedded cairo_font_options_t struct. + + src/cairo-ft-font.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +commit 1f0b6707eab54ddbcc9ac0b68e0e483d33704644 +Author: Matthias Clasen +AuthorDate: Fri Jan 5 09:09:01 2018 -0500 +Commit: Matthias Clasen +CommitDate: Fri Jan 5 09:09:01 2018 -0500 + + Add a _cairo_font_options_fini function + + The variations member of cairo_font_options_t is allocated, + so we need to have a method to free it for cases where + the struct is embedded in larger structs, such as cairo_ft_options_t. + + src/cairo-font-options.c | 8 +++++++- + src/cairoint.h | 3 +++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit 17871c52eff5ae89af08b9deb4be36b6b6f4c0e3 +Author: Matthias Clasen +AuthorDate: Thu Jan 4 23:25:09 2018 -0500 +Commit: Matthias Clasen +CommitDate: Thu Jan 4 23:25:09 2018 -0500 + + Don't leak patterns when compositing color glyphs + + We were forgetting to free the pattern here. + + src/cairo-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 616fb7a9f2612f6cc3472542a70ba3e8ccf16584 +Author: Matthias Clasen +AuthorDate: Thu Jan 4 20:56:59 2018 -0500 +Commit: Matthias Clasen +CommitDate: Thu Jan 4 20:56:59 2018 -0500 + + Fix a memory leak + + cairo_ft_apply_variations was leaking the FT_MM_Var struct. + + src/cairo-ft-font.c | 1 + + 1 file changed, 1 insertion(+) + +commit a7a0085713902c7d074be493d82f49bac6c97114 +Merge: 6b0593827 a18c0decd +Author: Behdad Esfahbod +AuthorDate: Wed Jan 3 12:35:12 2018 +0000 +Commit: Behdad Esfahbod +CommitDate: Wed Jan 3 12:35:12 2018 +0000 + + Merge branch 'font-variations' + +commit a18c0decdacc3846588f424edb6d45ddc9be9560 +Author: Behdad Esfahbod +AuthorDate: Tue Jan 2 19:25:18 2018 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Jan 2 19:25:18 2018 -0500 + + [ft] Remember variations set on FT_Face and apply them + + For this to work correctly with hb-view, needs a patch that went + into FreeType today. + + src/cairo-ft-font.c | 41 ++++++++++++++++++++++++++++++----------- + 1 file changed, 30 insertions(+), 11 deletions(-) + +commit 6b0593827b072abd701ea47448981bcc9bdde9f3 +Author: Uli Schlachter +AuthorDate: Sun Dec 24 13:23:13 2017 +0100 +Commit: Uli Schlachter +CommitDate: Sun Dec 24 13:23:13 2017 +0100 + + Add test for error handling with broken PNG streams + + Would-have-caught: https://bugs.freedesktop.org/show_bug.cgi?id=104325 + Signed-off-by: Uli Schlachter + + test/Makefile.sources | 1 + + test/create-from-broken-png-stream.c | 87 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 88 insertions(+) + +commit 82f4028532c11152a0110f1b277e3358dfca6545 +Author: Uli Schlachter +AuthorDate: Sat Dec 23 13:04:59 2017 +0100 +Commit: Uli Schlachter +CommitDate: Sat Dec 23 13:04:59 2017 +0100 + + Revert "fix warning: variable X might be clobbered by 'longjmp'" + + This reverts commit b092b63119cbfe3cb4bc786eee81630998996acf which + introduced a wrapper function around setjmp(). To quote from man setjmp: + + If the function which called setjmp() returns before longjmp() is + called, the behavior is undefined. Some kind of subtle or unsubtle + chaos is sure to result. + + Since after the above commit setjmp() is called from the wrapper + function, the result might or might not work, depending on compiler + settings. If the setjmp() wrapper is not inlined, then the state of the + stack after longjmp() will likely be garbage. + + src/cairo-bentley-ottmann-rectangular.c | 8 +------- + src/cairo-png.c | 17 ++++++----------- + 2 files changed, 7 insertions(+), 18 deletions(-) + +commit 3e07efd21e91ab90969aa2e4fc8b66adebac01ed +Author: Bryce Harrington +AuthorDate: Wed Dec 20 17:09:05 2017 -0800 +Commit: Bryce Harrington +CommitDate: Wed Dec 20 17:09:05 2017 -0800 + + makefile: Fix sorting of source files + + src/Makefile.sources | 58 ++++++++++++++++++++++++++-------------------------- + 1 file changed, 29 insertions(+), 29 deletions(-) + +commit e8ddc505b3d4fd8492910e05e99ce2fb3c32bd2b +Author: Behdad Esfahbod +AuthorDate: Tue Dec 19 15:59:50 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 18:04:04 2017 -0500 + + [ft] Fix warnings + + src/cairo-ft-font.c | 19 ++++++++----------- + 1 file changed, 8 insertions(+), 11 deletions(-) + +commit c32a5c741f8fbb21912edc7fc7763a361415b914 +Author: Matthias Clasen +AuthorDate: Tue Dec 19 17:36:36 2017 -0500 +Commit: Matthias Clasen +CommitDate: Tue Dec 19 17:36:36 2017 -0500 + + Shortcut FT_Set_Var_Design_Coordinates + + We currently (have to) apply font variations for every glyph. + Calling FT_Set_Var_Design_Coordinates has expensive side-effects, + like resetting the autohinter, so we should avoid doing it + fht he coordinates don't actually change. + + src/cairo-ft-font.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit d8ddadc5c3d5a74c433995d8bd82ba395bcd6973 +Author: Behdad Esfahbod +AuthorDate: Tue Dec 19 15:29:13 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:29:13 2017 -0500 + + [ft] When merging font options, order variations correctly + + Later wins, and we want "options" to win over "other". + + src/cairo-ft-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 82107467f0c52fee1368246aa9d931a82bcfadc4 +Author: Behdad Esfahbod +AuthorDate: Tue Dec 19 00:38:25 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + [ft] Use variations from ft_options, not scaled-font + + Otherwise the variations from FcPattern won't be applied. + + src/cairo-ft-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 976b34c31cb6e70a902d57c705d92ea5f35577e3 +Author: Matthias Clasen +AuthorDate: Mon Dec 18 18:51:03 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + fixup + + We were passing a face index to cairo_ft_apply_variations, + but that function was expecting an instance id, which is + the face index shifted by 16. + + src/cairo-ft-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 5c7f07d4ea831dff42244782bd583ab5fe7817b7 +Author: Matthias Clasen +AuthorDate: Mon Dec 18 13:50:23 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + fixup: remove a hack + + This bug that this hack is working around has been + fixed in freetype now. + + src/cairo-ft-font.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 1b5677ad6d86a6e67ba99bf3df963a3789816dd5 +Author: Matthias Clasen +AuthorDate: Mon Dec 18 13:01:23 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + Apply font variations when loading glyphs + + So far, we only call cairo_ft_apply_variations() in + cairo_ft_scaled_font_lock_face(), but this function is not + used internally. We need to apply it also when loading + glyphs. + + This makes pango-view show font variations correctly. + + src/cairo-ft-font.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit f2b6fac43f2fcd362eced1c87c5760c763aa963f +Author: Matthias Clasen +AuthorDate: Mon Dec 18 13:00:18 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + Trivial: code movement + + Move cairo_ft_apply_font_variations() earlier in the code + since we will be using it in another place soon. + + src/cairo-ft-font.c | 148 ++++++++++++++++++++++++++-------------------------- + 1 file changed, 74 insertions(+), 74 deletions(-) + +commit 42f07ef9037ea871dc0e58200437aab9c702ad6d +Author: Matthias Clasen +AuthorDate: Thu Sep 28 16:24:13 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + Always save the origin face index + + Save the original face_index also for the from_face case, + so we can always rely on it when applying font variations. + This prevents us from running into the same trap we've seen + before where ft_face->face_index changes underneath us as + font variations are applied. + + src/cairo-ft-font.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 1735fc41d3ac7015a584d73aa2c983f44f008788 +Author: Matthias Clasen +AuthorDate: Thu Sep 28 15:40:22 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + Apply font variation options consistently + + We must not look at the instance_id field of the cached ft_face, + since freetype changes it underneath us (if we set the axis values + to match a named instance, the instance_id gets changed to reflect + that). Thankfully, we have the original instance_id stashed away + in the cairo_unscaled_font, so we can just use that to decide if + we are dealing with a named instance or not. + + This makes the font variations tests pass. + + src/cairo-ft-font.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 46034b0547ea9b69392bde5b334f1891bd51c98a +Author: Matthias Clasen +AuthorDate: Wed Sep 20 22:29:30 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + Make the font-variations test pass + + Not sure what I was thinking - the test is checking the width + axis, but the font we're using has only weight and contrast + as axes... + + test/font-variations.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit db946d1788b8be1aef39102efe93826886b6addf +Author: Behdad Esfahbod +AuthorDate: Wed Sep 20 18:51:36 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + [varfonts] Correctly (re)set variations of named instances + + src/cairo-ft-font.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit 7125c4bf5e95164f4202a0f16fff07198e578668 +Author: Behdad Esfahbod +AuthorDate: Wed Sep 20 18:50:57 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:18:57 2017 -0500 + + [varfonts] Use blend, not design, coordinates to check for non-base variation + + If all blend coordinates are zero, we are at base font. This is more robust. + + src/cairo-ft-font.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 374ee5a2fd1f749de8d52a2536dc8fb23ef17121 +Author: Behdad Esfahbod +AuthorDate: Wed Sep 20 15:14:54 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + [variations] Merge variations in cairo-ft font option merging + + This function should be rewritten to call cairo_font_options_merge(), but + currently it doesn't. + + Speculative. Untested. + + src/cairo-ft-font.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit 34047d11db847777d32b5eb49dfcb64bc08e33d0 +Author: Behdad Esfahbod +AuthorDate: Wed Sep 20 15:11:27 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + [variations] Fix test + + This does not exercise merging of variations from font-options and from + pattern. Before this commit the code was more towards doing that. + + test/font-variations.c | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +commit 6accf16093b3d3451eca10ee194c00a1107b8861 +Author: Behdad Esfahbod +AuthorDate: Wed Sep 20 14:53:10 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + [variations] Towards fixing test + + test/font-variations.c | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) + +commit 7cc07f184bf705891bfb6b7f3b4f4b425370b5cd +Author: Matthias Clasen +AuthorDate: Sat Sep 16 13:23:57 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + Work around a freetype bug + + The first call to FT_Get_MM_Var on a newly created FT_Face + fails. So just repeat the call. + + src/cairo-ft-font.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 38b6e23609085ecb736530e47ffd04564304415e +Author: Matthias Clasen +AuthorDate: Sat Sep 16 13:22:22 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + Add a test for font variations + + This test checks that passing font variation settings via + font options has the desired effect. It checks this by reading + the effective axis values out of the FT_Face after creating + a font with these options. + + test/Makefile.am | 1 + + test/Makefile.sources | 1 + + test/font-variations.c | 196 +++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 198 insertions(+) + +commit 721b7ea0a785afaa04b6da63f970c3c57666fdfe +Author: Matthias Clasen +AuthorDate: Sun Sep 17 10:54:58 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + Apply font variations when loading fonts + + Parse font variation settings and pass them on to + freetype when loading fonts. + + src/cairo-ft-font.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 68 insertions(+), 1 deletion(-) + +commit a8ae2eafc85fda76fde79defa40fe06000d907db +Author: Matthias Clasen +AuthorDate: Sun Sep 17 11:17:13 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:17:01 2017 -0500 + + Use strtod_l when available + + Using strtod_l and newlocale is a nicer way to have provide + a C-locale-only strtod. Since these APIs are not available + everywhere, keep the old code as a fallback. + + configure.ac | 3 +++ + src/cairo-misc.c | 37 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 40 insertions(+) + +commit ac5acc45383f7ada422dec3e7c8a71bdb041fc8a +Author: Matthias Clasen +AuthorDate: Sun Sep 17 10:54:04 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:16:20 2017 -0500 + + Load font variations from fontconfig too + + When extracting font options from a fontconfig pattern, + also extract font variation information if present. + + src/cairo-ft-font.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit edf9497c3a28bc4e110ecf08069c8d48b995a0ea +Author: Matthias Clasen +AuthorDate: Sun Sep 17 10:40:13 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:16:19 2017 -0500 + + Add font variations to font options + + Add a font option for OpenType font variations, specified + as a string in a format similar to the proposed css + font-variation-settings property. + + src/cairo-font-options.c | 87 +++++++++++++++++++++++++++++++++++++++++++++-- + src/cairo-types-private.h | 1 + + src/cairo.h | 7 ++++ + 3 files changed, 92 insertions(+), 3 deletions(-) + +commit 4ece386149ccd8fbad5f8dff5d792ad2b49d5915 +Author: Matthias Clasen +AuthorDate: Sun Sep 17 10:20:06 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:16:19 2017 -0500 + + Make _intern_string_hash non-static + + We will use this function in cairo-font-options.c in the following + commits. + + src/cairo-misc.c | 6 +++--- + src/cairoint.h | 3 +++ + 2 files changed, 6 insertions(+), 3 deletions(-) + +commit d50dbbaf278c3dd9558a097124147e353a98c32a +Author: Matthias Clasen +AuthorDate: Sun Sep 17 10:16:48 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Dec 19 15:16:19 2017 -0500 + + Make _intern_string_hash safe for "" + + The loop was unnecessarily written in a way that fails + to terminate if len is 0 (ie for the empty string). + Avoid that by checking for len > 0 explicitly. + + src/cairo-misc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 903b0de539844c144c63ea57c30e84a23360c290 +Author: Matthias Clasen +AuthorDate: Sun Dec 17 21:24:53 2017 -0500 +Commit: Behdad Esfahbod +CommitDate: Sun Dec 17 21:36:17 2017 -0500 + + Fix a logic error in color glyph compositing + + When a color glyph is completely clipped away, we + get the non-zero status 'nothing to do'. In that case, + we must not exit early, since there might still be work + to do for the other color glyphs. + + This bug was showing up as color glyphs stopping to render + in GTK+ entries that are scrolled to the right, and also + as color glyphs not rendering inside the selection sometimes. + + See https://bugzilla.gnome.org/show_bug.cgi?id=790255 and + https://bugzilla.gnome.org/show_bug.cgi?id=788071. + + src/cairo-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 06964531e01bd0912a0edda81cea459ae460ffaa +Author: Bryce Harrington +AuthorDate: Thu Dec 14 09:58:57 2017 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 14 09:58:57 2017 -0800 + + svg: Label for cairo_svg_unit_t doxygen was incorrect + + src/cairo-svg.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 742199768db7128f4f1cebcc14ec687f816ae2fa +Author: Bryce Harrington +AuthorDate: Mon Dec 11 14:43:50 2017 -0800 +Commit: Bryce Harrington +CommitDate: Mon Dec 11 14:44:07 2017 -0800 + + Bump version for new development tree, 1.15.9 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5e6b9aeb5e3402ff17ae8ee8548ae2341c2f7d59 +Author: Bryce Harrington +AuthorDate: Mon Dec 11 13:02:28 2017 -0800 +Commit: Bryce Harrington +CommitDate: Mon Dec 11 14:44:07 2017 -0800 + + 1.15.10 release + + Signed-off-by: Bryce Harrington + + NEWS | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 73 insertions(+), 1 deletion(-) + +commit 19ee9211879ad8c90ee7d467d8d9495dc9a0fa88 +Author: Antonio Ospite +AuthorDate: Fri Dec 8 09:44:27 2017 +0100 +Commit: Bryce Harrington +CommitDate: Sun Dec 10 20:13:19 2017 -0800 + + svg: fix compilation with MSVC which doesn't support C99 initializers + + Reviewed-by: Bryce Harrington + Tested-by: John Emmas + + src/cairo-svg-surface.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit f9cf6f9200f3c84f8601a78ea73330eeed0c3e12 +Author: Adrian Johnson +AuthorDate: Fri Dec 8 18:13:20 2017 +1030 +Commit: Adrian Johnson +CommitDate: Fri Dec 8 18:13:20 2017 +1030 + + ps: fix compile warning + + https://lists.cairographics.org/archives/cairo/2017-December/028481.html + + src/cairo-ps-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f723ce31920cf5d5fe0ba417bb4b50b62a3ac4e6 +Author: Bryce Harrington +AuthorDate: Thu Dec 7 15:53:16 2017 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 7 15:53:16 2017 -0800 + + pattern: Mark a private routine as cairo_private. + + Fixes distcheck PLT error: + + Checking .libs/libcairo.so for local PLT entries + 000000000031f1d0 0000024200000007 R_X86_64_JUMP_SLOT + 0000000000055de0 _cairo_pattern_is_constant_alpha + 0 + + src/cairo-pattern-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c9a78ec9c21900f4418988ffe832b7e611a776c8 +Author: Bryce Harrington +AuthorDate: Thu Dec 7 14:15:17 2017 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 7 14:15:17 2017 -0800 + + Fix distcheck errors on use of #ifdef + + Checking that feature conditionals are used with #if only (not #ifdef) + ./cairo-ft.h:#ifdef CAIRO_HAS_FC_FONT + ./cairo-ft.h:#ifdef CAIRO_HAS_FC_FONT + + src/cairo-ft.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 04b4967586ac31763186d9894107b8c8403bcb34 +Author: Bryce Harrington +AuthorDate: Thu Dec 7 14:00:21 2017 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 7 14:13:32 2017 -0800 + + Fix various doxygen warnings found by check-doc-syntax.sh + + ./cairo-clip-boxes.c (268): ERROR: copy invalid doc id (should be 'cairo_...:') + ./cairo-clip-boxes.c (274): ERROR: copy bad line: ' */' + ./cairo-clip-boxes.c (274): ERROR: copy documentation comment not closed with **/ + ./cairo-boxes.c (106): ERROR: Computes invalid doc id (should be 'cairo_...:') + ./cairo-boxes.c (114): ERROR: Computes bad line: ' */' + ./cairo-boxes.c (114): ERROR: Computes documentation comment not closed with **/ + ./cairo-boxes.c (279): ERROR: Computes invalid doc id (should be 'cairo_...:') + ./cairo-boxes.c (284): ERROR: Computes bad line: ' */' + ./cairo-boxes.c (284): ERROR: Computes documentation comment not closed with **/ + ./cairo-boxes.c (338): ERROR: Linearize invalid doc id (should be 'cairo_...:') + ./cairo-boxes.c (345): ERROR: Linearize documentation comment not closed with **/ + ./cairo.c (240): ERROR: SECTION:cairo-tag bad line: '' + ./cairo.c (892): ERROR: cairo_set_source_rgb: Duplicate 'Since' field + + src/cairo-boxes.c | 23 +++++++++++++---------- + src/cairo-clip-boxes.c | 11 +++++------ + src/cairo-svg-surface.c | 2 +- + src/cairo.c | 4 +--- + 4 files changed, 20 insertions(+), 20 deletions(-) + +commit dbc1636a9b932fd81ace436a03c1992a6ac1cbcf +Author: Bryce Harrington +AuthorDate: Thu Dec 7 13:25:58 2017 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 7 14:13:32 2017 -0800 + + win32: Fix since field version number + + check-doc-syntax.sh expects since numbers to be MAJOR.MINOR without a + patch level number + + src/win32/cairo-win32-display-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bb0d616c4efe1015d17d41125f235a219ad14322 +Author: Bryce Harrington +AuthorDate: Wed Dec 6 18:27:21 2017 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 7 14:13:28 2017 -0800 + + image: Fix include for use of ptrdiff + + Commit 38fbe621 added use of the ptrdiff_t type in a header file, + however `make distcheck` complains: + + In file included from headers-standalone-tmp.c:1:0: + ../../../src/cairo-image-surface-private.h:74:5: error: unknown type name ‘ptrdiff_t’ + ptrdiff_t stride; + ^ + + src/cairo-image-surface-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit 15559b54af473d720da9e03b0e769c54a53505a9 +Author: Antonio Ospite +AuthorDate: Wed Oct 11 18:51:13 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Dec 4 13:58:34 2017 -0800 + + svg: add a new function to specify the SVG document unit + + Add a cairo_svg_surface_set_document_unit() function to allow users to + set a unit for the width and height values of the root element. + + In particular this allows to draw in pixels and still have the expected + result when generating SVG output. + + Add also the correspondent getter function. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90166 + Reviewed-by: Bryce Harrington + + src/cairo-svg-surface.c | 84 +++++++++++++++++++++++++++++++++++++++++++++++-- + src/cairo-svg.h | 47 +++++++++++++++++++++++++++ + 2 files changed, 129 insertions(+), 2 deletions(-) + +commit 84fc0ce91d1a57d20500f710abc0e17de82c67df +Author: Tom Schoonjans +AuthorDate: Thu Nov 2 16:55:22 2017 +0000 +Commit: Adrian Johnson +CommitDate: Sun Nov 26 20:16:43 2017 +1030 + + Use UTF-8 filenames on Windows + + Until now fopen was used on Windows to open files for reading and + writing. This assumed however that the filename would be encoded in the + current codepage, which is a major inconvenience and makes it even + impossible to use filenames that use characters from more than one + codepage. This patch enforces the use of UTF-8 filenames on all + platforms. + + Based on the work of Owen Taylor (https://lists.cairographics.org/archives/cairo/2007-February/009591.html) + + src/cairo-misc.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-output-stream.c | 7 +++++- + src/cairo-png.c | 20 +++++++++++---- + src/cairoint.h | 4 +++ + 4 files changed, 87 insertions(+), 6 deletions(-) + +commit e5532f5ad7f5493d703f9a7110b0816b5fa33e54 +Author: Mikhail Fludkov +AuthorDate: Mon Nov 6 13:07:00 2017 +0100 +Commit: Adrian Johnson +CommitDate: Sun Nov 26 13:09:51 2017 +1030 + + Fix code generation when using GCC legacy atomic operations + + https://bugs.freedesktop.org/show_bug.cgi?id=103559 + + build/aclocal.cairo.m4 | 8 ++++---- + src/cairo-atomic-private.h | 9 +-------- + 2 files changed, 5 insertions(+), 12 deletions(-) + +commit f614f588e67daebd123bb6698b56d4b8054616c4 +Author: Adrian Johnson +AuthorDate: Sat Nov 11 16:59:47 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sun Nov 26 13:03:44 2017 +1030 + + Prevent -Wundef warnings in when cairo-ft.h is used without fontconfig + + src/cairo-ft.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a709197121c8e405c2dd99e408ee3046ccf50a6a +Author: Adrian Johnson +AuthorDate: Sun Nov 26 13:03:18 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sun Nov 26 13:03:18 2017 +1030 + + pdf: fix some annotation bugs + + - each annotation was emitted on every page instead of just the page + that contains the annotation + + - the document structure did not correctly link to annotation objects + + - fix some annotation related memory leaks + + src/cairo-pdf-interchange.c | 165 ++++++++++++++++++++++++++++++---------- + src/cairo-pdf-surface-private.h | 14 ++-- + src/cairo-pdf-surface.c | 3 +- + src/cairo-tag-attributes.c | 4 + + 4 files changed, 138 insertions(+), 48 deletions(-) + +commit 17e2abc992b012ac3dceb2f66fba17d312ae6d77 +Author: Adrian Johnson +AuthorDate: Mon Nov 20 05:37:34 2017 +1030 +Commit: Adrian Johnson +CommitDate: Mon Nov 20 05:37:34 2017 +1030 + + ps: fix compile with old versions of MSVC + + https://lists.cairographics.org/archives/cairo/2017-November/028452.html + + src/cairo-ps-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0c8070f5bc74c124e6393b433a61807a8e4bee5d +Author: Adrian Johnson +AuthorDate: Thu Nov 16 20:16:14 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 16 20:16:14 2017 +1030 + + pdf: fix document structure for non tagged structures + + src/cairo-pdf-interchange.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +commit 164be896603ceb419c5bc47c7348781f791f70e4 +Author: Adrian Johnson +AuthorDate: Fri Nov 10 20:10:01 2017 +1030 +Commit: Adrian Johnson +CommitDate: Fri Nov 10 20:10:01 2017 +1030 + + test: update some stale ref images + + test/reference/record-extend-pad.ps.ref.png | Bin 341 -> 0 bytes + ...recording-surface-extend-none.pdf.argb32.ref.png | Bin 3941 -> 3944 bytes + .../recording-surface-extend-none.pdf.rgb24.ref.png | Bin 3775 -> 3773 bytes + ...ording-surface-extend-reflect.pdf.argb32.ref.png | Bin 29897 -> 29999 bytes + ...cording-surface-extend-reflect.pdf.rgb24.ref.png | Bin 29901 -> 29984 bytes + ...cording-surface-extend-repeat.pdf.argb32.ref.png | Bin 26323 -> 26534 bytes + ...ecording-surface-extend-repeat.pdf.rgb24.ref.png | Bin 25867 -> 26017 bytes + test/reference/scale-offset-similar.pdf.ref.png | Bin 9742 -> 9742 bytes + 8 files changed, 0 insertions(+), 0 deletions(-) + +commit 5c7a6ca141363333a5dc9d2eaef055d383f91ef9 +Author: Adrian Johnson +AuthorDate: Fri Nov 10 20:10:01 2017 +1030 +Commit: Adrian Johnson +CommitDate: Fri Nov 10 20:10:01 2017 +1030 + + ps: fix extend-*-similar failures + + src/cairo-ps-surface-private.h | 1 + + src/cairo-ps-surface.c | 39 +++++++++++++++++++++------------------ + 2 files changed, 22 insertions(+), 18 deletions(-) + +commit 9bfa9df2bb8557623df7c561613ea6eaa2a67cdd +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:02:05 2017 +1030 + + ps: fix padded image crash + + src/cairo-ps-surface.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit f7d6d78f9428c6813e79d5f7c1351c354d44da64 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:02:05 2017 +1030 + + ps: prevent self-copy infinite loop + + src/cairo-ps-surface-private.h | 3 ++- + src/cairo-ps-surface.c | 24 +++++++++++++++++++++++- + 2 files changed, 25 insertions(+), 2 deletions(-) + +commit 71746c37d48a08d56b18d4d82185896ada215194 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:02:05 2017 +1030 + + test: use CAIRO_MIME_TYPE_UNIQUE_ID with record-text-transform + + The PS output from this test is > 100MB due to the duplicated images. + Using CAIRO_MIME_TYPE_UNIQUE_ID reduces the PS output to 650k, runs + considerably faster, and now produces correct output. + + test/cairo-test.c | 5 +++++ + test/record.c | 11 +++++++++++ + .../reference/record-text-transform.ps.argb32.ref.png | Bin 1216 -> 3995 bytes + test/reference/record-text-transform.ps.rgb24.ref.png | Bin 1216 -> 3995 bytes + 4 files changed, 16 insertions(+) + +commit 5ffbaf9e2f7da103da8d015b5f928e25f9433b60 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:02:05 2017 +1030 + + ps: add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files + + doc/public/cairo-sections.txt | 2 + + src/cairo-ps-surface-private.h | 1 + + src/cairo-ps-surface.c | 183 +++++++++++++++++++++++++++++++++++-- + src/cairo-surface.c | 18 ++++ + src/cairo-tag-attributes-private.h | 7 ++ + src/cairo-tag-attributes.c | 47 ++++++++++ + src/cairo.h | 2 + + 7 files changed, 252 insertions(+), 8 deletions(-) + +commit 7d3ba77b6cd20f68cfbda3d8008811265aa030cb +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + ps: use Reusable streams for forms in Level 3 + + to avoid emitting image data as strings + + src/cairo-ps-surface.c | 57 +++++++++++++++++++++++++++++++++++++++++++------- + test/mime-unique-id.c | 2 +- + 2 files changed, 50 insertions(+), 9 deletions(-) + +commit b1c7a087b5da9a3bfa1e05e2e99861e07723c6f8 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + ps: use forms for surfaces with UNIQUE_ID mime type + + to ensure the surfaces are emitted only once. + + fixes mime-unique-id PS output + + src/cairo-ps-surface-private.h | 19 +- + src/cairo-ps-surface.c | 665 ++++++++++++++++++++++++++++++++--------- + test/mime-unique-id.c | 4 +- + 3 files changed, 544 insertions(+), 144 deletions(-) + +commit 638d64a702449fee130b103e623c8fa3b8c06e9b +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + ps: don't acquire image or snapshot in acquire_source_image_from_pattern + + otherwise emit_surface may not see the mime data + + src/cairo-ps-surface.c | 156 +++++++++++++++++++------------------------------ + 1 file changed, 61 insertions(+), 95 deletions(-) + +commit fcc037a76ecd70050e324d0e3f7decd81f2f0a05 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + ps: use << >> for dictionaries instead of dict begin end + + src/cairo-ps-surface.c | 94 ++++++++++++++++++++++++-------------------------- + 1 file changed, 46 insertions(+), 48 deletions(-) + +commit 632232c3ce465e31929ab026012c731491492d6a +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + ps: remove unused prolog + + src/cairo-ps-surface.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 9d372ca91a067b00fc1f66f466ab795206f5ef14 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + ps: emit base85 strings instead of strings of base85 + + When image data is emitted as strings (required when an image is used + in a PaintProc), the base85 encoded data was emitted inside PS strings + (...) and the image filters included an ASCI85Decode filter. + + This has been changed to emit the strings as ASCII85 strings <~...~> + and remove the ASCII85Decode filter since the base85 is decoded when + the string is parsed. + + Also factor out the string data source procedure into the prolog. + + src/cairo-ps-surface.c | 186 +++++++++++++++++++++---------------------------- + 1 file changed, 79 insertions(+), 107 deletions(-) + +commit d5cb45013bf10d97657cea105683bf5ccb21c2d7 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 22:01:40 2017 +1030 + + pdf: fix mime-unique-id jpeg attached to recording test + + - Restructure the emit_surface code so that mime types are checked first. + + - Add a test parameter to emit_surface to test if the surface will be emitted + as an image or recording instead checking the surface type as the attached + mime may override this. + + - Mark surface as not clear when mime is attached to avoid optimizing away + "clear" surfaces that have mime attached. + + - Include entire surface in analysis if mime attached (also fixes bug with + calculating the extents CONTENT_COLOR surfaces) + + src/cairo-analysis-surface.c | 172 +++++++++++++++++++---------------- + src/cairo-pdf-surface.c | 209 +++++++++++++++++++++++++++++-------------- + src/cairo-surface.c | 42 +++++++++ + src/cairoint.h | 3 + + test/mime-unique-id.c | 4 +- + 5 files changed, 286 insertions(+), 144 deletions(-) + +commit bff47b43c4b0501c0255e9ba191904bea13ddf5c +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 20:52:36 2017 +1030 + + pdf: fix mime-unique-id unbounded recording test + + PDF XObjects need to specify the bounding box. Emit unbounded surfaces + when finishing as at this point the extents of all uses of the + unbounded surface are known. + + src/cairo-pdf-surface-private.h | 7 +++- + src/cairo-pdf-surface.c | 85 +++++++++++++++++++++++++++++++---------- + src/cairo-surface.c | 4 +- + 3 files changed, 72 insertions(+), 24 deletions(-) + +commit cf9a07035292f3a1a3d057cfbb9dac1447a11235 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 20:52:36 2017 +1030 + + pdf: fix mime-unique-id bounded recording test + + The embedded bounded recording surface was being clipped to the + extents of its first use. + + src/cairo-pdf-surface.c | 77 ++++++++++++++++++++----------------------------- + 1 file changed, 31 insertions(+), 46 deletions(-) + +commit 5e4707a10d476604614bddcc9ba8b06f6002e6d6 +Author: Adrian Johnson +AuthorDate: Thu Nov 9 20:52:36 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 9 20:52:36 2017 +1030 + + Add mime-unique-id test + + to check that PS/PDF embeds images with CAIRO_MIME_TYPE_UNIQUE_ID only + once. + + test/Makefile.sources | 2 +- + test/mime-unique-id.c | 511 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 512 insertions(+), 1 deletion(-) + +commit 38fbe621cf80d560cfc27b54b5417b62cda64c8a +Author: Adrian Johnson +AuthorDate: Thu Oct 20 21:12:30 2016 +1030 +Commit: Bryce Harrington +CommitDate: Tue Nov 7 17:01:49 2017 -0800 + + image: prevent invalid ptr access for > 4GB images + + Image data is often accessed using: + + image->data + y * image->stride + + On 64-bit achitectures if the image data is > 4GB, this computation + will overflow since both y and stride are 32-bit types. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98165 + Reviewed-by: Bryce Harrington + + boilerplate/cairo-boilerplate.c | 4 +++- + src/cairo-image-compositor.c | 4 ++-- + src/cairo-image-surface-private.h | 2 +- + src/cairo-mesh-pattern-rasterizer.c | 2 +- + src/cairo-png.c | 2 +- + src/cairo-script-surface.c | 3 ++- + 6 files changed, 10 insertions(+), 7 deletions(-) + +commit 35fccff6ec393ccca3d3ced79093ca491ce32df4 +Author: Bryce Harrington +AuthorDate: Mon Nov 6 12:09:53 2017 -0800 +Commit: Bryce Harrington +CommitDate: Mon Nov 6 12:18:37 2017 -0800 + + Un-doxygen disabled cairo_set_opacity + + The cairo_set_opacity() routine has been disabled since 2010. There + appears to be support for it internally in the backend, so it is unclear + why it is not enabled or what might break if it were re-enabled. Given + the lack of bug reports about its omission, it may be vestigal. For + now, just hide the doxygen for it to suppress warnings. It may be worth + deeper review to either re-enable it or remove it entirely. + + Reported-by: Rafał Mużyło (See fdo bugzilla #82741) + Signed-off-by: Bryce Harrington + + src/cairo.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 8d89fc573eae0bc0234e1b909932e405a776b7e1 +Author: Bryce Harrington +AuthorDate: Mon Nov 6 11:28:58 2017 -0800 +Commit: Bryce Harrington +CommitDate: Mon Nov 6 11:35:24 2017 -0800 + + configure: Check for typeof + + Check via the AC_C_TYPEOF macro if GCC's typeof is available. If it is + available via a different spelling, define typeof to that spelling. + + Patch from and issue reported by Richard Palo. + + Signed-off-by: Bryce Harrington + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93027 + + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +commit 3322580f0488ff77f53d86c2b4d3cf59e6dca4c7 +Author: Adrian Johnson +AuthorDate: Tue Oct 24 21:30:45 2017 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 24 21:44:08 2017 +1030 + + pdf: remove old comment + + These issues have been fixed. + + src/cairo-pdf-surface.c | 9 --------- + 1 file changed, 9 deletions(-) + +commit 1674d2b8850f9264232e60e82cb5b2827426632c +Author: Adrian Johnson +AuthorDate: Tue Oct 24 21:26:56 2017 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 24 21:44:08 2017 +1030 + + pdf: set default create date + + boilerplate/cairo-boilerplate-pdf.c | 1 + + build/configure.ac.system | 2 +- + src/cairo-pdf-interchange.c | 50 +++++++++++++++++++++++++++++++++++++ + src/cairo-pdf-surface.c | 1 - + 4 files changed, 52 insertions(+), 2 deletions(-) + +commit 378e8e2f59a109a40da8e40893652a4c003a4dc7 +Author: Adrian Johnson +AuthorDate: Tue Oct 24 07:01:14 2017 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 24 07:01:14 2017 +1030 + + pdf: set ca/CA instead of using an smask when the mask has constant alpha + + src/cairo-pattern-private.h | 5 +++ + src/cairo-pattern.c | 53 +++++++++++++++++++++++++++++ + src/cairo-pdf-surface-private.h | 1 + + src/cairo-pdf-surface.c | 74 ++++++++++++++++++++++++++++++++--------- + 4 files changed, 117 insertions(+), 16 deletions(-) + +commit 5fd0b8710f125bb33c55d75fcc8252996b403e2d +Author: Carlos Garcia Campos +AuthorDate: Wed Oct 18 11:33:25 2017 +0200 +Commit: Adrian Johnson +CommitDate: Sun Oct 22 11:09:02 2017 +1030 + + scaled-font: Fix assert when destroying glyph page + + This happens when _cairo_ft_scaled_glyph_init() returns + CAIRO_INT_STATUS_UNSUPPORTED when called from + _cairo_scaled_glyph_lookup(). In those cases + _cairo_scaled_font_free_last_glyph() is called to release the glyph that + has just been allocated. If there aren't more glyphs, + _cairo_scaled_glyph_page_destroy() is called. The problem is that + _cairo_scaled_glyph_lookup() should always be called with the cache + frozen, and _cairo_scaled_glyph_page_destroy() without the cache + frozen. We can simply thaw/freeze the font before calling + _cairo_scaled_glyph_page_destroy(). + + https://bugs.freedesktop.org/show_bug.cgi?id=103335 + + src/cairo-scaled-font.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 87dfd0c16f4fa798c1f72612a2e070fca8547ad2 +Author: Adrian Johnson +AuthorDate: Sun Oct 22 08:45:45 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sun Oct 22 08:59:58 2017 +1030 + + Allow mime image to be different size to cairo image + + Previously it was assumed the mime image size is the same as the cairo + image surface size. When using the 1 bpp formats (CCITT, JBIG2), + creating a cairo image of the same size will have very large memory + requirements and in some case may exceed the pixman image size + limits. In these cases it is useful to allow the mime image to have a + different resolution to the cairo image and in the PDF/PS output scale + the mime image to be the same physical size as the cairo image. + + In PDF, this is easy as all PDF images are scaled to 1x1 unit and the + CTM is used to scale the image to the required size. The PS surface + has been changed to also scale images to 1x1 and use the CTM to get + the required size. + + src/cairo-pdf-surface.c | 124 ------------------------------------------------ + src/cairo-ps-surface.c | 29 +++++++++-- + 2 files changed, 24 insertions(+), 129 deletions(-) + +commit e1a02b180d804887980c111c1f9780bed44b96a6 +Author: Adrian Johnson +AuthorDate: Sun Oct 22 08:07:49 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sun Oct 22 08:42:36 2017 +1030 + + Add CCITT_FAX mime type for PDF and PS surfaces + + This completes the full set of PDF/PS image filters allowing image + data to be passed though without decompressing then recompresssing in + a less efficient format. + + The difficulty with CCITT_FAX is it needs some decoding parameters + that are not stored inside the image data. This is achieved by using + an additional mime type CCITT_FAX_PARAMS that contains the params in + key=value format. + + doc/public/cairo-sections.txt | 2 + + src/Makefile.sources | 16 +- + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf-surface.c | 263 ++++++++++++++++++++++++--- + src/cairo-ps-surface.c | 200 ++++++++++++++++++-- + src/cairo-surface.c | 21 ++- + src/cairo-tag-attributes-private.h | 15 ++ + src/cairo-tag-attributes.c | 80 ++++++++ + src/cairo.h | 2 + + test/ccitt.g3 | 2 + + test/mime-data.c | 56 +++++- + test/reference/mime-data.base.argb32.ref.png | Bin 243 -> 272 bytes + test/reference/mime-data.base.rgb24.ref.png | Bin 243 -> 272 bytes + test/reference/mime-data.pdf.ref.png | Bin 7563 -> 8205 bytes + test/reference/mime-data.ps.ref.png | Bin 4705 -> 5386 bytes + test/reference/mime-data.ref.png | Bin 243 -> 272 bytes + test/reference/mime-data.script.ref.png | Bin 2130 -> 2175 bytes + test/reference/mime-data.svg.ref.png | Bin 6437 -> 6513 bytes + 18 files changed, 609 insertions(+), 50 deletions(-) + +commit 4ae7f411c865a25b577faea58e5fda6f4e9e1172 +Author: Adrian Johnson +AuthorDate: Sat Oct 21 20:05:56 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 21 20:05:56 2017 +1030 + + util/font-view: fix build error + + util/font-view.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 9ffbf63d3715f81ec92cdba93b60a04a11be130f +Author: Adrian Johnson +AuthorDate: Sat Oct 21 13:05:26 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 21 13:08:39 2017 +1030 + + fix warning: inlining failed in call to '_csi_stack_push' + + util/cairo-script/cairo-script-interpreter.c | 11 +++++++++++ + util/cairo-script/cairo-script-private.h | 11 ++--------- + 2 files changed, 13 insertions(+), 9 deletions(-) + +commit b092b63119cbfe3cb4bc786eee81630998996acf +Author: Adrian Johnson +AuthorDate: Sat Oct 21 13:02:42 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 21 13:08:30 2017 +1030 + + fix warning: variable X might be clobbered by 'longjmp' + + Move calls to setjmp into separate function to avoid clobbering + local variables. + + src/cairo-bentley-ottmann-rectangular.c | 8 +++++++- + src/cairo-png.c | 17 +++++++++++------ + 2 files changed, 18 insertions(+), 7 deletions(-) + +commit 132794f6832ea83e2f9a72e11b05080d2cdf80f8 +Author: Adrian Johnson +AuthorDate: Mon Oct 16 20:13:48 2017 +1030 +Commit: Adrian Johnson +CommitDate: Mon Oct 16 20:18:49 2017 +1030 + + svg: recording_surface is needed even if not emitted + + src/cairo-svg-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 27990e391070dd43f08450a3d54c90d18e6d85f3 +Author: Adrian Johnson +AuthorDate: Mon Oct 16 19:47:21 2017 +1030 +Commit: Adrian Johnson +CommitDate: Mon Oct 16 20:18:49 2017 +1030 + + fix unused function warnings + + src/cairo-botor-scan-converter.c | 2 ++ + test/any2ppm.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit fc929d70054583d0c21f24b18083348e3e7d914c +Author: Adrian Johnson +AuthorDate: Mon Oct 16 19:42:16 2017 +1030 +Commit: Adrian Johnson +CommitDate: Mon Oct 16 19:42:16 2017 +1030 + + ft: prevent unused var warning when freetype < 2.8 + + src/cairo-ft-font.c | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +commit 1d58e0f81856038d8aa306b97302485a4d2e2ec9 +Author: Adrian Johnson +AuthorDate: Sun Oct 15 19:42:08 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sun Oct 15 19:42:08 2017 +1030 + + svg2png: remove unused headers + + test/svg2png.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 90104809b0e03d28ac1152034fd4f05fc8e97b9a +Author: Mikhail Fludkov +AuthorDate: Fri Oct 6 13:47:51 2017 +0200 +Commit: Adrian Johnson +CommitDate: Sun Oct 15 18:51:04 2017 +1030 + + Surround initialisations with atomic critical section + + Fixes the race condition when one thread uses cairo_mask_compositor_t + pointer returned by _cairo_image_mask_compositor_get, while another one + started but has not finished it's initialisation yet + + Usage: + static cairo_atomic_once_t once = CAIRO_ATOMIC_ONCE_INIT; + if (_cairo_atomic_init_once_enter(&once)) { + /* Initialization code */ + _cairo_atomic_init_once_leave(&once); + } + + https://bugs.freedesktop.org/show_bug.cgi?id=103037 + + src/cairo-atomic-private.h | 33 +++++++++++++++++++++++++++++++++ + src/cairo-gl-msaa-compositor.c | 5 ++++- + src/cairo-gl-spans-compositor.c | 5 ++++- + src/cairo-gl-traps-compositor.c | 5 ++++- + src/cairo-image-compositor.c | 19 ++++++++++++++----- + src/cairo-image-mask-compositor.c | 5 ++++- + src/cairo-xlib-core-compositor.c | 5 ++++- + src/cairo-xlib-render-compositor.c | 10 ++++++++-- + src/test-null-compositor-surface.c | 10 ++++++++-- + src/win32/cairo-win32-gdi-compositor.c | 5 ++++- + 10 files changed, 87 insertions(+), 15 deletions(-) + +commit 79e0e25e441a74e3ec207d95bd83437457ba1885 +Author: Adrian Johnson +AuthorDate: Sun Oct 15 07:57:54 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sun Oct 15 07:57:54 2017 +1030 + + svg: source surface hash table does not need to hold the source + + src/cairo-svg-surface-private.h | 1 - + src/cairo-svg-surface.c | 2 -- + 2 files changed, 3 deletions(-) + +commit 965ba86bbf87fb0d8df666cbba7c8823cc393b0b +Author: Adrian Johnson +AuthorDate: Sat Oct 14 19:47:39 2017 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 14 20:53:01 2017 +1030 + + svg: use hash table instead of user_data to track emitted surfaces + + Setting a key on the source surface->user_data prevents the surface + from being reused to create another svg file. + + The hash table also supports CAIRO_MIME_TYPE_UNIQUE_ID. + + https://lists.cairographics.org/archives/cairo/2017-October/028406.html + + src/cairo-svg-surface-private.h | 9 ++ + src/cairo-svg-surface.c | 185 ++++++++++++++++++++++++++++++++-------- + 2 files changed, 159 insertions(+), 35 deletions(-) + +commit bb10bd10138a262759b37281135b5199e334f392 +Author: Adrian Johnson +AuthorDate: Fri Oct 13 19:44:45 2017 +1030 +Commit: Adrian Johnson +CommitDate: Fri Oct 13 19:50:24 2017 +1030 + + truetype: limit font name to 127 chars + + Some broken fonts have long strings of garbage in the font name + + https://bugs.freedesktop.org/show_bug.cgi?id=103249 + + src/cairo-truetype-subset.c | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +commit 202a9ed64e3d164307defddb41a9f8cf9e9b751b +Author: Adrian Johnson +AuthorDate: Fri Oct 13 19:27:03 2017 +1030 +Commit: Adrian Johnson +CommitDate: Fri Oct 13 19:33:30 2017 +1030 + + output-stream: allow %s strings larger than 512 chars + + https://bugs.freedesktop.org/show_bug.cgi?id=103249 + + src/cairo-output-stream.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit d5b634da61597aa8e80ba7d5bc39f092e5888515 +Author: Bryce Harrington +AuthorDate: Wed Oct 11 19:13:46 2017 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 11 19:13:46 2017 -0700 + + Factor out the ISFINITE() macro + + src/cairo-gstate.c | 6 ------ + src/cairo-matrix.c | 6 ------ + src/cairo-scaled-font.c | 6 ------ + src/cairoint.h | 6 ++++++ + 4 files changed, 6 insertions(+), 18 deletions(-) + +commit 5a9dba9929d9c9046705150f7e3c4783ff34e4dd +Author: Adrian Johnson +AuthorDate: Thu Oct 5 20:50:19 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Oct 5 20:50:19 2017 +1030 + + svg: fix painting an unbounded recording surface + + https://lists.cairographics.org/archives/cairo/2017-October/028395.html + + src/cairo-svg-surface-private.h | 1 + + src/cairo-svg-surface.c | 38 +++++++++++++++++++++++++------------- + 2 files changed, 26 insertions(+), 13 deletions(-) + +commit bec8c7508ebc0f69266f9aebe9903539391c519b +Author: Adrian Johnson +AuthorDate: Tue Oct 3 22:18:49 2017 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 3 22:27:25 2017 +1030 + + Prevent curved strokes in small ctms from being culled from vector surfaces + + The combination of both curved strokes and ignoring the ctm in the thin + line check caused some fill-strokes in this test case to be culled. + + Modify the thin line check to take the ctm into account and increase + the minimum width to 1 point to prevent curved lines such as tiny dots + from being culled. + + https://bugs.freedesktop.org/show_bug.cgi?id=103071 + + src/cairo-path-bounds.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit dccbed7d78d32bd3b912e8810379451dd94e6a1f +Author: Adrian Johnson +AuthorDate: Fri Sep 22 20:24:45 2017 +0930 +Commit: Adrian Johnson +CommitDate: Fri Sep 22 20:25:59 2017 +0930 + + truetype: clarify glyph count variables + + - move num_glyphs_in_face to base struct as it is the number in the font + - move num_glyphs to the subset variables as it is the num glyphs in the subset + - move widths to subset variables as it uses the subset id as the array index + + src/cairo-truetype-subset.c | 54 ++++++++++++++++++++++----------------------- + 1 file changed, 27 insertions(+), 27 deletions(-) + +commit 52cbf42b74785c3c3c2d15effe7bdb416ff9c8b2 +Author: Adrian Johnson +AuthorDate: Fri Sep 22 20:10:10 2017 +0930 +Commit: Adrian Johnson +CommitDate: Fri Sep 22 20:10:10 2017 +0930 + + truetype: reserve space in subset arrays for .notdef + + Subset array sizes are allocated based on the number of glyphs in the + font. In this bug the fonts did not contain the mandatory .notdef + glyph, hence the subset arrays were not large enough. + + https://bugs.freedesktop.org/show_bug.cgi?id=102922 + + src/cairo-truetype-subset.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit e773dd744e88dc871fdc549132f07760f1be94c7 +Author: Adrian Johnson +AuthorDate: Sun Sep 17 14:15:25 2017 +0930 +Commit: Adrian Johnson +CommitDate: Fri Sep 22 18:17:25 2017 +0930 + + factor out ascii to double code in cff-subset into _cairo_strtod + + src/cairo-cff-subset.c | 27 +++------------------ + src/cairo-misc.c | 60 +++++++++++++++++++++++++++++++++++++++++++++-- + src/cairo-output-stream.c | 2 +- + src/cairo-type1-subset.c | 2 +- + src/cairoint.h | 5 +++- + 5 files changed, 67 insertions(+), 29 deletions(-) + +commit 871c518121452116ee799fe4262421d4c935972e +Author: Aleksander Morgado +AuthorDate: Mon Aug 28 11:23:34 2017 +0200 +Commit: Bryce Harrington +CommitDate: Wed Sep 20 11:44:29 2017 -0700 + + build: fix minor typo in autogen.sh + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=102452 + Reviewed-by: Bryce Harrington + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1220e3c6b8f94a00ac7afee15f21e6782655d97c +Author: Adrian Johnson +AuthorDate: Sat Sep 2 19:17:37 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Sep 16 10:04:57 2017 +0930 + + replace _BSD_SOURCE with _DEFAULT_SOURCE + + fixes the warning: + + warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + + src/cairo-cff-subset.c | 2 +- + src/cairo-ft-font.c | 2 +- + src/cairo-output-stream.c | 2 +- + src/cairo-path-stroke-boxes.c | 2 +- + src/cairo-path-stroke-polygon.c | 2 +- + src/cairo-path-stroke-tristrip.c | 2 +- + src/cairo-path-stroke.c | 2 +- + src/cairo-pdf-surface.c | 2 +- + src/cairo-ps-surface.c | 2 +- + src/cairo-scaled-font-subsets.c | 2 +- + src/cairo-svg-surface.c | 2 +- + src/cairo-toy-font-face.c | 2 +- + src/cairo-truetype-subset.c | 2 +- + src/cairo-type1-fallback.c | 2 +- + src/cairo-type1-subset.c | 2 +- + 15 files changed, 15 insertions(+), 15 deletions(-) + +commit 117a3c27d48107cb9c570fee725105419b1251e3 +Author: Adrian Johnson +AuthorDate: Sat Sep 2 19:09:49 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Sep 16 10:04:57 2017 +0930 + + build: use _WIN32 instead of windows.h to check for windows build + + ifdef _WIN32 is the recommended way to check for a windows build [1] + and avoids identifying cygwin as windows. + + based on the patch at [2] + + [1] https://lists.gnu.org/archive/html/autoconf/2012-02/msg00008.html + [2] https://lists.gnu.org/archive/html/autoconf/2012-02/msg00009.html + + build/configure.ac.system | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 8ff3019f51bd40c23d8a0dd5e51ce3fab6442d6e +Author: Bryce Harrington +AuthorDate: Wed Sep 13 12:35:27 2017 -0700 +Commit: Bryce Harrington +CommitDate: Wed Sep 13 15:18:04 2017 -0700 + + gl: Add support for OpenGL ES 3.0 + + This improves the OpenGL ES support to extend it to version 3.0. + A number of new features are available in glesv3 including creation of + multi-sampled renderbuffers. These renderbuffers can be blitted to + single sample textures (but not the other way around). Other features + such as PBO for image uploading, are left as followon work. + + For this preliminary implementation, glesv3 backends always create + renderbuffers, which can be set as single sample or multisample. The + renderbuffer's content is blitted to the texture only when used as a + source or a mask. + + Images uploaded to a texture stay there until the surface is used as a + rendering target, at which point its painted to the renderbuffer. + + This patch is heavily based off of Henry Song's initial GLESv3 patch + 6f7f3795 from his cairogles fork of Cairo, and incorporates subsequent + fixes and pertinent refactorings from his trunk and review feedback from + Uli. + + This implements the *functional* support for glesv3, excluding the + various optimization work to utilize its features. Rendering and + performance should not be expected to improve notably from pure glesv2. + As the GL backend for Cairo remains "experimental", these changes should + likewise be considered as such. + + Signed-off-by: Bryce Harrington + + boilerplate/Makefile.win32.features | 12 +++++ + boilerplate/cairo-boilerplate-egl.c | 30 ++++++++--- + build/Makefile.win32.features | 1 + + build/Makefile.win32.features-h | 3 ++ + build/configure.ac.features | 1 + + configure.ac | 23 ++++++++ + src/Makefile.sources | 4 ++ + src/Makefile.win32.features | 16 ++++++ + src/cairo-gl-composite.c | 103 +++++++++++++++++++++++++++++++++++- + src/cairo-gl-device.c | 91 +++++++++++++++++++++++-------- + src/cairo-gl-dispatch.c | 12 +++++ + src/cairo-gl-gradient-private.h | 9 ++-- + src/cairo-gl-gradient.c | 3 +- + src/cairo-gl-info.c | 4 +- + src/cairo-gl-msaa-compositor.c | 10 +++- + src/cairo-gl-operand.c | 3 +- + src/cairo-gl-private.h | 20 ++++--- + src/cairo-gl-shaders.c | 15 ++++-- + src/cairo-gl-surface.c | 73 ++++++++++++++++++++----- + src/cairo-gl.h | 2 +- + 20 files changed, 370 insertions(+), 65 deletions(-) + +commit d1f941d7ee06340c155158b32bec28fc2e1a4264 +Author: Bryce Harrington +AuthorDate: Thu Oct 20 16:37:28 2016 -0700 +Commit: Bryce Harrington +CommitDate: Wed Sep 13 15:17:55 2017 -0700 + + gl: Make _cairo_gl_ensure_framebuffer a private shared routine + + Signed-off-by: Bryce Harrington + + src/cairo-gl-device.c | 2 +- + src/cairo-gl-private.h | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit 4b164bc89872f0cf4e123e1358cc83be8e83a4d3 +Author: Bryce Harrington +AuthorDate: Fri Oct 7 15:26:25 2016 -0700 +Commit: Bryce Harrington +CommitDate: Wed Sep 13 15:17:55 2017 -0700 + + gl: Convert images to rgba or a8 formats when uploading with GLESv2 + + The GLESv2 backend supports only GL_RGBA and GL_ALPHA as supported + texture formats. So, make _cairo_gl_get_image_format_and_type_gles2 + force conversion of other image formats to either of these two as + appropriate when uploading images. + + Patch originally from Henry Song + + Bryce Harrington + + Signed-off-by: Bryce Harrington + + src/cairo-gl-surface.c | 45 +++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-traps-compositor.c | 30 --------------------------- + 2 files changed, 45 insertions(+), 30 deletions(-) + +commit 99427c3f4f6ce7ce3c95c4caa4d2b8ff7c0093d9 +Author: Behdad Esfahbod +AuthorDate: Tue Sep 12 01:35:15 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Tue Sep 12 01:35:15 2017 -0400 + + Handle SOURCE and CLEAR operators when painting color glyphs + + In cairo, most operators are composited this way: + + ((src IN mask) OP dst) LERP_clip dst + + but SOURCE and CLEAR operators are composited this way: + + (src OP dst) LERP_(clip IN mask) dst + + (why is this not specified anywhere in the docs or source tree?) + + With color glyphs, we were not special-casing SOURCE and CLEAR. + We do now. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=102661 + + src/cairo-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 7f6b57a2386c051e4bb6a156cf14904fe061f837 +Author: Behdad Esfahbod +AuthorDate: Mon Sep 11 22:00:00 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Mon Sep 11 22:00:00 2017 -0700 + + Fix undefined-behavior with integer math + + As reported to me: + + "A calculation on signed integers has undefined behaviour if the result is not + representable in the type. In this case, it's trying to negate int_min, aka + -2^31 but the range of an int is [-2^31, 2^31-1] so it doesn't fit. Instead, + cast to unsigned which has 2's complement wrap-around arithmetic which is what + this particular function expects." + + src/cairo-fixed-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1af18610baaefd2031259fc7aae79b341c57fb91 +Author: Bryce Harrington +AuthorDate: Mon Sep 11 19:49:14 2017 -0700 +Commit: Bryce Harrington +CommitDate: Mon Sep 11 19:56:06 2017 -0700 + + glesv2: Fix regression in gles version detection + + Revert the _cairo_gl_get_flavor() portion of the change from commit + eb523200. This caused GLES to be enabled only if the hardware reported + version 2 exactly; if the hardware supported version 2 and 3 then no ES + support would be enabled. + + src/cairo-gl-info.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c29db4f0de52727406a8b62f4da9a382084b5a79 +Author: Adrian Johnson +AuthorDate: Sat Sep 2 16:11:43 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Sep 2 16:11:43 2017 +0930 + + Remove unused variable + + src/cairo-unicode.c | 2 -- + 1 file changed, 2 deletions(-) + +commit b646f755f3ad12ccd437ea32bffaefe5f6c6be25 +Author: Adrian Johnson +AuthorDate: Sat Sep 2 07:37:36 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Sep 2 07:37:36 2017 +0930 + + RELEASING: use correct branch name + + RELEASING | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 934e42fa5e4b74cf7fed022d2ff8a6326908ba3c +Author: Bryce Harrington +AuthorDate: Tue Aug 29 10:18:14 2017 -0700 +Commit: Bryce Harrington +CommitDate: Tue Aug 29 10:18:14 2017 -0700 + + Bump version for new development tree, 1.15.9 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 112f0fc73b769c2db69f50601bf094892bd6db10 +Author: Bryce Harrington +AuthorDate: Sun Aug 27 17:53:40 2017 -0700 +Commit: Bryce Harrington +CommitDate: Tue Aug 29 10:01:02 2017 -0700 + + 1.15.8 release + + Signed-off-by: Bryce Harrington + + NEWS | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 47 insertions(+), 1 deletion(-) + +commit 609261bcbc3bf3d4911749353fbcc01ced70534f +Author: Adrian Johnson +AuthorDate: Tue Aug 29 21:40:52 2017 +0930 +Commit: Adrian Johnson +CommitDate: Tue Aug 29 21:43:07 2017 +0930 + + pdf: use explicit dest instead of named dest when 'internal' attribute is set + + src/cairo-pdf-interchange.c | 181 +++++++++++++++++++++++++++------------- + src/cairo-pdf-surface-private.h | 1 - + test/pdf-tagged-text.c | 2 +- + 3 files changed, 126 insertions(+), 58 deletions(-) + +commit 12b875aef374636d1693a631524dd3b622277415 +Author: Adrian Johnson +AuthorDate: Sat Aug 26 16:32:48 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Aug 26 16:32:48 2017 +0930 + + pdf: use link attributes instead of dest name for cairo_pdf_surface_add_outline + + In PDF outline targets are specified the same way as link targets so + there is no need to restrict the target to dest names. + + src/cairo-pdf-interchange.c | 177 ++++++++++++++++++++++------------------ + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf-surface.c | 17 ++-- + src/cairo-pdf.h | 2 +- + test/pdf-tagged-text.c | 12 ++- + 5 files changed, 116 insertions(+), 94 deletions(-) + +commit df37baf7895ef9acc71f3627b22e7368c8af3ea1 +Author: Adrian Johnson +AuthorDate: Sat Aug 26 09:58:48 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Aug 26 16:26:12 2017 +0930 + + pdf: fix link positions + + Converting the link position from cairo to pdf coordinates requires + the page height. Since the link may point to a different page, build + an array of the height of each page and use the target page height for + the conversion. + + Don't default to a [0,0] position if "pos" is not specified. PDF + allows a null destination position to be specified which means don't + change the position if the page is already displayed or show top left + if switching to a different page. This is more useful default + particularly for external files where the coordinates (which must be + in PDF coordinates as we don't know the page height) of the top left + corner may not be known. + + src/cairo-pdf-interchange.c | 50 +++++++++++++++++++++++++------------- + src/cairo-pdf-surface-private.h | 4 +-- + src/cairo-pdf-surface.c | 9 +++++++ + src/cairo-tag-attributes-private.h | 1 + + src/cairo-tag-attributes.c | 1 + + src/cairo.c | 7 +++--- + 6 files changed, 50 insertions(+), 22 deletions(-) + +commit 74c6e3ae1d356e8bb4c7043cb9d3897c45cc0f79 +Author: Adrian Johnson +AuthorDate: Tue Aug 22 21:18:54 2017 +0930 +Commit: Adrian Johnson +CommitDate: Tue Aug 22 21:25:22 2017 +0930 + + pdf: don't write logical structure if it only contains links + + src/cairo-pdf-interchange.c | 21 +++++++++++++-------- + src/cairo-tag-stack.c | 1 + + 2 files changed, 14 insertions(+), 8 deletions(-) + +commit 63f14d4a8f155ebaaca63b49e7bacca55d681af5 +Author: Doran Moppert +AuthorDate: Mon Jul 25 11:00:21 2016 +0930 +Commit: Bryce Harrington +CommitDate: Mon Aug 21 17:08:47 2017 -0700 + + image: Check for negative len in fill/blit functions + + Applies the same fix as 5c82d91 to other potential negative len cases. + + Reviewed-by: Bryce Harrington + + src/cairo-image-compositor.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +commit 5f90f0a706206ea3b940392bf1492fead832d99b +Author: Alexander Täschner +AuthorDate: Mon Jun 12 12:49:44 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Aug 21 16:35:27 2017 -0700 + + win32: Initialize mutexes for static builds for win32 + + For static win32 builds the mutexes are not initialized (for dynamic + builds it's done when the DLL is loaded). Therefore, add initialization + to the create surface calls. + + Cc: Uli Schlachter + Signed-off-by: Bryce Harrington + + src/win32/cairo-win32-device.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 339fe9a7689dd13626410afabb77b12ad0f9f7d2 +Author: Guillermo Rodriguez +AuthorDate: Tue Jul 4 12:19:37 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Aug 21 16:29:10 2017 -0700 + + Remove redundant check. + + Spotted by David Kastrup . + + Reviewed-by: Bryce Harrington + + src/cairo-surface.c | 4 ---- + 1 file changed, 4 deletions(-) + +commit 5ac7b3652d4d96bfdc5efe50c2540fb4eadeb7d9 +Author: Guillermo Rodriguez +AuthorDate: Tue Jul 4 12:21:02 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Aug 21 16:05:16 2017 -0700 + + script: Fix misleading indentation warning. + + Spotted by David Kastrup . + + Reviewed-by: Bryce Harrington + + util/cairo-script/cairo-script-operators.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a5ac8fe2031d8d64939a9fd0f324a9516276899e +Author: Bryce Harrington +AuthorDate: Mon Aug 21 14:37:48 2017 -0700 +Commit: Bryce Harrington +CommitDate: Mon Aug 21 14:39:24 2017 -0700 + + image: Disambiguate 0. in doxygen + + Doxygen is interpreting the leading 0. as starting an ordered list, and + misformatting the HTML documentation. + + Issue reported by Артур Галямов. + + Signed-off-by: Bryce Harrington + + src/cairo-image-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4c12e2aec38eb03d17787ece5a5566af902d16b7 +Author: Adrian Johnson +AuthorDate: Mon Aug 21 21:23:45 2017 +0930 +Commit: Adrian Johnson +CommitDate: Mon Aug 21 21:23:45 2017 +0930 + + pdf: Don't emit /PageLabel dict when no labels defined + + src/cairo-pdf-interchange.c | 92 +++++++++++++++++++++++++-------------------- + 1 file changed, 52 insertions(+), 40 deletions(-) + +commit e3857c133f6403b94a49480ca0fad66876dbe609 +Author: Adrian Johnson +AuthorDate: Sun Aug 20 20:09:02 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sun Aug 20 20:09:02 2017 +0930 + + pdf: link tags do not need to be leaf nodes in the document structure + + src/cairo-pdf-interchange.c | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +commit bb4ab5a8be2f66bfc03716eb37b94ec186ab1e55 +Author: Adrian Johnson +AuthorDate: Sat Aug 19 10:50:58 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sat Aug 19 10:52:18 2017 +0930 + + tests: fix bug in pdf-tagged-text that was introduced in 4790a36 + + test/pdf-tagged-text.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f3515954e0bc9c9ca413a84a8dd842145cec83a7 +Author: Behdad Esfahbod +AuthorDate: Tue Aug 8 22:04:55 2017 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Aug 8 22:04:55 2017 -0700 + + [ft] Fix color font loading on big-endian systems + + Untested, but the logic is correct: FreeType's BGRA type is always + laid out in that order in memory. Cairo's ARGB32 is endianness- + dependent. On little-endian systems the two are the same. On big-endian + we need to flip. + + src/cairo-ft-font.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 495cb9a0a765ccbc678f55d8bfe699829a214f39 +Author: Behdad Esfahbod +AuthorDate: Sat Jul 29 17:40:34 2017 +0100 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 17:40:34 2017 +0100 + + Fix uninitialized status! + + src/cairo-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 7a1e378466971d26a3f6d3c9437744bc5ffef1eb +Author: Behdad Esfahbod +AuthorDate: Sat Jul 29 16:20:21 2017 +0100 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 16:20:21 2017 +0100 + + Fix color font support infinite-loop with empty glyphs + + Ouch! But it all works now! Only took five years to merge this feature. + Thanks Matthias Clasen for working out a real patch from my initial + sketch. + + src/cairo-ft-font.c | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +commit 5e3350e4d1df6aeb4333cb1e4134feb22280735c +Author: Matthias Clasen +AuthorDate: Fri Jun 30 21:17:43 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 12:30:50 2017 +0100 + + Simplify things a bit + + Do away with the separate check for color glyphs - we can just + do the filtering, and if there are no color glyphs, it is a + no-op. As long as we only do this for fonts with color glyphs, + it should be fine. + + Reduce repetition in composite_color_glyphs by breaking out + some helper functions. + + src/cairo-surface.c | 227 ++++++++++++++++++++-------------------------------- + 1 file changed, 89 insertions(+), 138 deletions(-) + +commit db14d6d70759df221d6aaee9a1dc0354c39f1aa3 +Author: Matthias Clasen +AuthorDate: Thu Jun 29 22:57:02 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 12:30:50 2017 +0100 + + Render color glyphs as source, not as mask + + Use paint instead of show_glyphs for color glyphs. To avoid + overhead, we only check for color glyphs if the font is known + to contain any. Paint clusters containing only color glyphs + and rewrite the inputs to remove the handled clusters and + glyphs. + + src/cairo-surface.c | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 257 insertions(+), 1 deletion(-) + +commit 6a8a25cc4792eca774fa6d0857229659adbe063b +Author: Matthias Clasen +AuthorDate: Fri Apr 8 13:20:56 2016 -0400 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 12:30:50 2017 +0100 + + Implement has_color_glyphs for freetype + + This information is available from the FT_Face using the + FT_HAS_COLOR macro. We cache the value in the unscaled_font + object as soon as we have an FT_Face. + + src/cairo-ft-font.c | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +commit 66228456531c8a80f3985160bf1013248e433681 +Author: Matthias Clasen +AuthorDate: Fri Apr 8 13:21:47 2016 -0400 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 12:30:50 2017 +0100 + + Expose 'has color glyphs' as a scaled font property + + This information will be used in subsequent commits to quickly + decide that we won't try to handle glpyhs as masks. Implementing + the new has_color_glyphs vfunc is optional - only backends that + support color glyphs need to implement it. + + src/cairo-scaled-font-private.h | 2 ++ + src/cairo-scaled-font.c | 9 +++++++++ + src/cairoint.h | 3 +++ + 3 files changed, 14 insertions(+) + +commit 52b17c724260512873ab0731e2e2314bb0a15e4b +Author: Matthias Clasen +AuthorDate: Thu Jun 29 20:19:56 2017 -0400 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 12:30:50 2017 +0100 + + Support loading color glyphs with freetype + + Use the FT_LOAD_COLOR flag to instruct freetype to load embedded + PNGs without converting them to grayscale. We always load both + the color and regular surface when we are loading surfaces. + + src/cairo-ft-font.c | 44 ++++++++++++++++++++++++++++++++++---------- + 1 file changed, 34 insertions(+), 10 deletions(-) + +commit 0d8859c66fb82a00147ab77d1971111306ca2272 +Author: Matthias Clasen +AuthorDate: Thu Apr 7 20:38:09 2016 -0400 +Commit: Behdad Esfahbod +CommitDate: Sat Jul 29 12:30:50 2017 +0100 + + Add support for color glyphs to cairo_scaled_glyph_t + + With this, glyphs can have either a surface that is expected + to be used as mask, or a color_surface that should be used + as source, or both. + + This will be used to support colored emoji glyphs that are + stored as PNG images in OpenType fonts. + + src/cairo-scaled-font-private.h | 1 + + src/cairo-scaled-font.c | 21 +++++++++++++++++++++ + src/cairoint.h | 8 +++++++- + 3 files changed, 29 insertions(+), 1 deletion(-) + +commit 0fadb2c56d855560810205d78975450ddce271df +Author: Bryce Harrington +AuthorDate: Fri Jul 28 17:02:12 2017 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 28 17:03:00 2017 -0700 + + cairo-docs: whitespace cleanup + + doc/public/cairo-docs.xml | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit f6673e239a7e72a1f66e8faf1e5d5bbe7bdc2fd4 +Author: Bryce Harrington +AuthorDate: Fri Jul 28 17:02:29 2017 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 28 17:02:29 2017 -0700 + + RELEASING: Note adding index to cairo-docs.xml for minor releases + + RELEASING | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +commit 3a8bb3380532dbbede661f6c58a8a9cd443840c2 +Author: Bryce Harrington +AuthorDate: Fri Jul 28 16:31:50 2017 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 28 16:55:09 2017 -0700 + + RELEASING: Note use of branches for stable releases + + RELEASING | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +commit 57b40507dda3f58dfc8635548d606b86dc7bcf51 +Author: Adrian Johnson +AuthorDate: Thu Jun 15 20:53:29 2017 +0930 +Commit: Adrian Johnson +CommitDate: Thu Jun 15 20:53:29 2017 +0930 + + Fix off by one check in cairo-image-info.c + + https://bugs.freedesktop.org/show_bug.cgi?id=101427 + + src/cairo-image-info.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 13ddd7297729e77de07f409b91b61cbae2d16141 +Author: Bryce Harrington +AuthorDate: Tue Jun 13 15:22:55 2017 -0700 +Commit: Bryce Harrington +CommitDate: Tue Jun 13 15:22:55 2017 -0700 + + Bump version for new development tree, 1.15.7 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c31721ab27c65941dd9e0c29662d7ebb5caa2a01 +Author: Bryce Harrington +AuthorDate: Tue Jun 13 12:25:01 2017 -0700 +Commit: Bryce Harrington +CommitDate: Tue Jun 13 14:57:38 2017 -0700 + + 1.15.6 release + + NEWS | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 62 insertions(+), 1 deletion(-) + +commit ce68336f7da58822a4c9c4cd49d5336d55bd36fd +Author: Bryce Harrington +AuthorDate: Tue Jun 13 14:53:55 2017 -0700 +Commit: Bryce Harrington +CommitDate: Tue Jun 13 14:57:38 2017 -0700 + + drm: Add/reorder headers as required by check-preprocessor-syntax.sh + + If cairo-drm-intel-brw-eu.h and/or cairo-drm-intel-brw-structs.h are + intended to be private headers, then the change to include cairo.h can + be dropped but the headers should be renamed *-private.h to conform with + Cairo standards. + + I'm not certain why check-preprocessor-syntax.sh started flagging these + issues, as it doesn't look like there's been changes to them recently. + But the release scripts won't move forward without these being fixed. + + src/drm/cairo-drm-intel-brw-eu.h | 1 + + src/drm/cairo-drm-intel-brw-structs.h | 1 + + src/drm/cairo-drm-intel-ioctl-private.h | 4 ++-- + src/drm/cairo-drm-radeon-surface.c | 8 ++++---- + 4 files changed, 8 insertions(+), 6 deletions(-) + +commit f613e0717231bd028ffc9da79247eb8c23dc463d +Author: Bryce Harrington +AuthorDate: Mon Jun 12 16:54:23 2017 -0700 +Commit: Bryce Harrington +CommitDate: Mon Jun 12 18:55:35 2017 -0700 + + gl: Fix comment syntax + + Signed-off-by: Bryce Harrington + + src/cairo-gl-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bfc243ca52e85e909e200363a687611d256ccc66 +Author: Uli Schlachter +AuthorDate: Tue May 30 18:04:38 2017 +0200 +Commit: Uli Schlachter +CommitDate: Tue May 30 18:04:38 2017 +0200 + + xcb: Fix error reporting if fallback fails + + If we cannot let the X11 server do some operation (for example: the + RENDER extension is not available), then we fall back to an image + surface and do the operation locally instead. This fallback requires the + current content of the surface to be downloaded from the X11 server. + This fallback logic had an error. + + The fallback is implemented with _get_image() in the function + _cairo_xcb_surface_fallback(). _get_image() is only called if we do not + yet have a fallback available, so when we call _get_image we have + surface->fallback == NULL. Then, if _get_image() fails, it returns a + surface in an error state. + + Before this patch, the code would then just ignore this error surface + and return &surface->fallback->base, a NULL pointer. This would then + quickly cause a crash when e.g. the surface's ->status member is + accessed. + + Fix this by returning the error surface instead as the fallback. + + The end result of this patch will be that the XCB surface that is + currently drawn to ends up in an error state which is a lot better than + a NULL pointer dereference and actually correct in this case. The error + state is reached because the current drawing operation will fail and + this error is reported up the call stack and eventually "taints" the + surface. + + (However, the error code could be better: _get_image() too often fails + with a generic CAIRO_STATUS_NO_MEMORY error, but that's left as future + work) + + Signed-off-by: Uli Schlachter + + src/cairo-xcb-surface.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 0fd0fd0ae9ad8cfb177bb844091de98c0235917e +Author: Adrian Johnson +AuthorDate: Sun May 28 09:07:54 2017 +0930 +Commit: Adrian Johnson +CommitDate: Sun May 28 09:12:56 2017 +0930 + + subsetting: support variable fonts + + If the font is a non default variant, fallback to creating a font from + the outlines. + + src/cairo-cff-subset.c | 13 +++++++-- + src/cairo-ft-font.c | 67 ++++++++++++++++++++++++++++++++++++++++++-- + src/cairo-truetype-subset.c | 13 +++++++-- + src/cairo-type1-subset.c | 14 ++++++--- + src/cairoint.h | 8 ++++-- + src/win32/cairo-win32-font.c | 12 ++++---- + 6 files changed, 107 insertions(+), 20 deletions(-) + +commit 9d44136ef8e2a1ad2c6631beb4bbdaeed7a2dad8 +Author: Uli Schlachter +AuthorDate: Sat May 13 09:37:34 2017 +0200 +Commit: Uli Schlachter +CommitDate: Sat May 13 09:37:34 2017 +0200 + + Revert "stroker: Check for scaling overflow in computing half line widths" + + This reverts commit 91b25005d62fe4ca178f45d349374e42c29a5e11 because it + causes lots of new crashes due to assertion failures. + + src/cairo-fixed-private.h | 13 ------------- + src/cairo-path-stroke-boxes.c | 25 +++++-------------------- + src/cairo-path-stroke-polygon.c | 1 - + src/cairo-path-stroke-traps.c | 1 - + src/cairo-path-stroke.c | 1 - + 5 files changed, 5 insertions(+), 36 deletions(-) + +commit 91b25005d62fe4ca178f45d349374e42c29a5e11 +Author: Chris Wilson +AuthorDate: Fri Mar 24 12:36:41 2017 +0000 +Commit: Bryce Harrington +CommitDate: Thu May 4 17:44:48 2017 -0700 + + stroker: Check for scaling overflow in computing half line widths + + Given a combination of a large scaling matrix and a large line, we can + easily generate a half line width that is unrepresentable in our 24.8 + fixed-point. This leads to spurious errors later, such as generating + negative height boxes, and so asking pixman to fill to infinity. To + avoid this, we can check for overflow in calculating the half line with, + though we still lack adequate range checking on the final stroke path. + + References: https://bugs.webkit.org/show_bug.cgi?id=16793 + Signed-off-by: Chris Wilson + Cc: magomez@igalia.com + Tested-by: Bryce Harrington + Acked-by: Bryce Harrington + + src/cairo-fixed-private.h | 13 +++++++++++++ + src/cairo-path-stroke-boxes.c | 25 ++++++++++++++++++++----- + src/cairo-path-stroke-polygon.c | 1 + + src/cairo-path-stroke-traps.c | 1 + + src/cairo-path-stroke.c | 1 + + 5 files changed, 36 insertions(+), 5 deletions(-) + +commit a3cc46d2ccba44a538d05f0c5870b1a82f046350 +Author: Andrea Canciani +AuthorDate: Sun Mar 19 21:48:11 2017 +0100 +Commit: Andrea Canciani +CommitDate: Tue Apr 25 18:06:14 2017 +0200 + + quartz-font: Fix text-glyph-range + + The index 0 is a legitimate index used for character codes that do not + correspond to any glyph in the font. Instead, the API reserves 0xFFFF + (kCGFontIndexInvalid) as the invalid index and defines 0xFFFE + (kCGFontIndexMax = kCGGlyphMax) as the maximum legal index. + + Fixes text-glyph-range. + + src/cairo-quartz-font.c | 16 ++++++++-------- + test/reference/text-glyph-range.quartz.ref.png | Bin 0 -> 2328 bytes + test/reference/text-glyph-range.quartz.xfail.png | Bin 2051 -> 0 bytes + 3 files changed, 8 insertions(+), 8 deletions(-) + +commit fcb0a8ef36c9a84f586d38bd409d6a0e881890a7 +Author: Andrea Canciani +AuthorDate: Sat Mar 18 10:20:07 2017 +0100 +Commit: Andrea Canciani +CommitDate: Tue Apr 25 18:06:14 2017 +0200 + + quartz-font: Correct handling of SMP Unicode characters + + Truncating the UCS4 representation to 16 bits only works for the Basic + Multilingual Plane, the other characters must be translated to a + surrogate pair. + + Fixes smp-glyph. + + Reported-by: Clerk Ma + + src/cairo-quartz-font.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 5584bf755c98703653eef06670abaeb4873f9ee5 +Author: Andrea Canciani +AuthorDate: Sat Mar 18 08:55:11 2017 +0100 +Commit: Andrea Canciani +CommitDate: Tue Apr 25 18:05:40 2017 +0200 + + unicode: Extract the UCS4 to UTF-16 conversion to a separate function + + Reuse the function for the UTF-8 to UTF-16 conversion, but also make + it available for internal use by cairo. + + src/cairo-unicode.c | 39 +++++++++++++++++++++++++++++++++------ + src/cairoint.h | 4 ++++ + 2 files changed, 37 insertions(+), 6 deletions(-) + +commit cb9f6273780bb2ffc710d2efdd4224d9096972cb +Author: Andrea Canciani +AuthorDate: Sun Mar 19 10:37:36 2017 +0100 +Commit: Andrea Canciani +CommitDate: Tue Apr 25 18:05:40 2017 +0200 + + test: Add a test for characters in the SMP + + Unicode characters in the Supplementary Multilingual Plane are encoded + as surrogate pairs in UTF-16. This test tries to verify that backends + do not perform UCS4 to UTF-16 conversion by truncation. + + test/Makefile.sources | 1 + + test/reference/smp-glyph.ref.png | Bin 0 -> 301 bytes + test/reference/smp-glyph.script.ref.png | Bin 0 -> 302 bytes + test/smp-glyph.c | 56 ++++++++++++++++++++++++++++++++ + 4 files changed, 57 insertions(+) + +commit 8455d88b1276c25cbca0b7218171d8825efad4dc +Author: Enrico Weigelt, metux IT consult +AuthorDate: Mon Apr 17 18:57:11 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Apr 24 18:35:44 2017 -0700 + + drm: fixed calls to _cairo_surface_init() + + This function now expects an additional parameter is_vector. + + Signed-off-by: Enrico Weigelt, metux IT consult + + src/drm/cairo-drm-intel-surface.c | 4 +++- + src/drm/cairo-drm-radeon-surface.c | 3 ++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +commit f7e686c92a428d5293b73c325bac1b043d0f86d8 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Mon Apr 17 18:56:45 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Apr 24 15:54:02 2017 -0700 + + drm: use typedefs and defines from drm headers instead of redundant own definitions + + These typedefs and defines are part of the libdrm API and therefore should + be taken from there, instead of own redundant declarations. + + Signed-off-by: Enrico Weigelt, metux IT consult + + src/Makefile.sources | 1 - + src/drm/cairo-drm-bo.c | 33 +-- + src/drm/cairo-drm-i915-surface.c | 1 - + src/drm/cairo-drm-i965-surface.c | 1 - + src/drm/cairo-drm-intel-ioctl-private.h | 403 +------------------------------- + src/drm/cairo-drm-intel.c | 4 +- + src/drm/cairo-drm-ioctl-private.h | 12 - + src/drm/cairo-drm-radeon-private.h | 4 - + src/drm/cairo-drm-radeon-surface.c | 4 + + src/drm/cairo-drm-radeon.c | 123 +--------- + 10 files changed, 11 insertions(+), 575 deletions(-) + +commit 72c600afbfbbbafdc894a85c8086e18b93391c1d +Author: Enrico Weigelt, metux IT consult +AuthorDate: Mon Apr 17 18:56:43 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Apr 24 15:42:35 2017 -0700 + + drm: dropped obsolete/unused intel_bo_get_image() + + [Call to this was dropped in bd672d08 in favor of intel_bo_map()]] + + Signed-off-by: Enrico Weigelt, metux IT consult + Reviewed-by: Bryce Harrington + + src/drm/cairo-drm-intel-private.h | 5 ----- + src/drm/cairo-drm-intel.c | 44 --------------------------------------- + 2 files changed, 49 deletions(-) + +commit 182104defedd18c377a8d3d27ef9278e490f3cce +Author: Enrico Weigelt, metux IT consult +AuthorDate: Mon Apr 17 18:56:40 2017 +0200 +Commit: Bryce Harrington +CommitDate: Mon Apr 24 10:18:08 2017 -0700 + + drm: fixed missing includes + + Signed-off-by: Enrico Weigelt, metux IT consult + Reviewed-by: Bryce Harrington + + src/drm/cairo-drm-i915-glyphs.c | 1 + + src/drm/cairo-drm-i915-shader.c | 1 + + src/drm/cairo-drm-i915-surface.c | 1 + + src/drm/cairo-drm-intel-private.h | 1 + + src/drm/cairo-drm-intel-surface.c | 1 + + src/drm/cairo-drm-intel.c | 2 ++ + src/drm/cairo-drm-radeon-surface.c | 1 + + src/drm/cairo-drm-radeon.c | 1 + + 8 files changed, 9 insertions(+) + +commit cffa452f44eadebef8553502e3d6cc49829d38ce +Author: Debarshi Ray +AuthorDate: Thu Dec 15 12:50:13 2016 +0100 +Commit: Bryce Harrington +CommitDate: Wed Mar 15 20:26:22 2017 -0700 + + doc: Clarify when the device scale is inherited and when it isn't + + In short, cairo_surface_create_similar inherits it, while + cairo_surface_create_similar_image doesn't. It wasn't obvious without + reading the code or explicitly checking the device scale of the new + surface. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99094 + + Reviewed-by: Bryce Harrington + + src/cairo-surface.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +commit 1192f97388ba428a623670107a96fc13cbf97ee9 +Author: Debarshi Ray +AuthorDate: Thu Dec 15 12:41:39 2016 +0100 +Commit: Bryce Harrington +CommitDate: Wed Mar 15 20:26:18 2017 -0700 + + doc: Fix the units used by cairo_surface_create_similar_image + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99094 + + Reviewed-by: Bryce Harrington + + src/cairo-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 10e4103a508f81a3e47938e97c0b84f1ba41071c +Author: Uli Schlachter +AuthorDate: Tue Mar 7 10:05:43 2017 +0100 +Commit: Uli Schlachter +CommitDate: Tue Mar 7 13:40:21 2017 +0100 + + xlib: Call XSync() before ignoring errors + + The code here wants to ignore errors for a specific request. To do so, + it sets a no-op error handler. However, it could happen that some + previous request caused an error and this error will also be ignored by + the no-op error handler. + + To avoid this, call XSync() before setting the error handler. This makes + sure that all pending errors are handled. + + Signed-off-by: Uli Schlachter + Reviewed-by: Chris Wilson + + src/cairo-xlib-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit f02ee3d3cf4168b5468b6548fe8823e803650f53 +Author: Uli Schlachter +AuthorDate: Tue Mar 7 09:57:55 2017 +0100 +Commit: Uli Schlachter +CommitDate: Tue Mar 7 09:57:55 2017 +0100 + + xlib: Remove unused variable + + This constant seems to be unused since commit af9fbd176b145f042408ef + from 2011. + + Signed-off-by: Uli Schlachter + + src/cairo-xlib-surface.c | 6 ------ + 1 file changed, 6 deletions(-) + +commit 1a307123af14cfa50a0c35819cfaee79f0ade1ba +Author: Adrian Johnson +AuthorDate: Thu Mar 2 19:14:04 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Mar 2 19:14:04 2017 +1030 + + pdf-operators: fix bug in line wrapping + + patch by jmmorlan@sonic.net + + https://bugs.freedesktop.org/show_bug.cgi?id=100029 + + src/cairo-pdf-operators.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 5854dd9df40a68efb0cb1b2bb7f94e3f05cbdf45 +Author: Adrian Johnson +AuthorDate: Thu Feb 2 06:47:11 2017 +1030 +Commit: Adrian Johnson +CommitDate: Thu Feb 2 06:47:11 2017 +1030 + + pdf: don't return uninitialized status + + https://bugs.freedesktop.org/show_bug.cgi?id=99630 + + src/cairo-pdf-interchange.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5a8a9c97ed268004cbac510d39739ff56c0fb43c +Author: Andrea Canciani +AuthorDate: Wed Jan 18 13:08:11 2017 +0100 +Commit: Andrea Canciani +CommitDate: Wed Jan 18 15:06:33 2017 +0100 + + quartz: Restore 10.4-specific font code + + The code for extracting font glyphs was replaced in + 70cc8f250b5669e757b4f044571ba0f71e3dea9e with an implementation based + on CoreText, which is not available on MacOSX 10.4. This commit + restores automatic detection of which API should be used by means of + dynamic linking. + + README | 2 +- + src/cairo-quartz-font.c | 26 ++++++++++++++++++++++---- + src/cairo-quartz-private.h | 12 ++++++++---- + 3 files changed, 31 insertions(+), 9 deletions(-) + +commit dd4706d0a9d123d3aa4284ac9ab35fbe165278b2 +Author: Kouhei Sutou +AuthorDate: Wed Jan 4 23:38:17 2017 +0900 +Commit: Adrian Johnson +CommitDate: Thu Jan 5 08:33:07 2017 +1030 + + pdf: Fix wrong cairo_pdf_outline_flags_t item prefix + + src/cairo-pdf-interchange.c | 6 +++--- + src/cairo-pdf.h | 12 ++++++------ + test/pdf-tagged-text.c | 7 ++++--- + 3 files changed, 13 insertions(+), 12 deletions(-) + +commit c7e87cd9df401f2c5a62534697d12a4e0afda2ce +Author: Kouhei Sutou +AuthorDate: Wed Jan 4 23:32:59 2017 +0900 +Commit: Adrian Johnson +CommitDate: Thu Jan 5 08:30:52 2017 +1030 + + pdf: Remove duplicated item + + src/cairo-pdf.h | 1 - + 1 file changed, 1 deletion(-) + +commit 55e0b214ea13136acf4e234e620f637ee59e0924 +Author: Bryce Harrington +AuthorDate: Tue Dec 20 11:42:57 2016 -0800 +Commit: Bryce Harrington +CommitDate: Tue Dec 20 11:42:57 2016 -0800 + + RELEASING: Fix tabbing + + RELEASING | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 3c5868a90ddf4a3a65bfe059bb7b4907b73e58c2 +Author: Bryce Harrington +AuthorDate: Fri Dec 9 15:41:08 2016 -0800 +Commit: Bryce Harrington +CommitDate: Fri Dec 9 15:41:08 2016 -0800 + + Bump version for new development tree, 1.15.5 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9fe6683cb105354e86ea649ba7a13052c7edc757 +Author: Bryce Harrington +AuthorDate: Fri Dec 9 12:59:20 2016 -0800 +Commit: Bryce Harrington +CommitDate: Fri Dec 9 12:59:20 2016 -0800 + + 1.15.4 release + + NEWS | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 127 insertions(+), 1 deletion(-) + +commit 68bbb6933920a043753d9d509fb6e6d8a68624ca +Author: Bryce Harrington +AuthorDate: Fri Dec 9 11:47:28 2016 -0800 +Commit: Bryce Harrington +CommitDate: Fri Dec 9 11:47:28 2016 -0800 + + NEWS: Fix a couple typos + + NEWS | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 3f1a6f7225e31057a8af9313f051a1d311df0c69 +Author: Bryce Harrington +AuthorDate: Thu Nov 3 09:16:24 2016 -0700 +Commit: Bryce Harrington +CommitDate: Thu Nov 3 09:16:24 2016 -0700 + + gl: Fix one more CAIRO_GL_FLAVOR_ES3 enum + + src/cairo-gl-gradient.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit eb5232002b16193d5ba6c1450d80616914fd9917 +Author: Bryce Harrington +AuthorDate: Wed Oct 12 19:00:38 2016 -0700 +Commit: Bryce Harrington +CommitDate: Fri Oct 28 17:56:09 2016 -0700 + + gl: Treat GLES v2 as a separate flavor from GLES v3 + + To support differentiating between GLES v2 and v3, rename the flavor + enum to be version specific, as CAIRO_GL_FLAVOR_ES2. + + Then, when GLES v3 support is introduced we can add it as a distinct + flavor enum (i.e. CAIRO_GL_FLAVOR_ES3). + + Signed-off-by: Bryce Harrington + + src/cairo-gl-composite.c | 2 +- + src/cairo-gl-device.c | 12 ++++++------ + src/cairo-gl-dispatch.c | 8 ++++---- + src/cairo-gl-info.c | 4 ++-- + src/cairo-gl-msaa-compositor.c | 2 +- + src/cairo-gl-operand.c | 2 +- + src/cairo-gl-private.h | 2 +- + src/cairo-gl-shaders.c | 10 +++++----- + src/cairo-gl-surface.c | 6 +++--- + src/cairo-gl-traps-compositor.c | 2 +- + 10 files changed, 25 insertions(+), 25 deletions(-) + +commit cd1040ed80b6ab886c019248544bede747cd3eb4 +Author: Bryce Harrington +AuthorDate: Mon Oct 10 14:05:32 2016 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 12 13:17:05 2016 -0700 + + build: Don't rely on non-POSIX 'strings -' behavior + + On systems using GNU's strings implementation, 'strings -' causes a scan + of the whole file, which is equivalent to 'strings -a'. However, in + POSIX passing '-' as the first argument to 'strings' is declared + unspecified, and thus may break the build on systems that use a + different POSIX strings implementation. + + Patch from Jung-uk Kim + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88639 + Signed-off-by: Bryce Harrington + + build/aclocal.float.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b7b6803567fbe477e1ae42d2406744afaa3c0cbb +Author: Bryce Harrington +AuthorDate: Fri Sep 16 15:05:55 2016 -0700 +Commit: Bryce Harrington +CommitDate: Mon Oct 10 14:39:23 2016 -0700 + + pattern: Fix incorrect grammar in cairo_pattern_get_type. + + "This function returns the type a pattern." is obviously missing 'of', + but this can be stated more succinctly with active voice. + + Signed-off-by: Bryce Harrington + + src/cairo-pattern.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9d2983175e98433cf86fbfafa2954ce2cbf66dac +Author: Bryce Harrington +AuthorDate: Fri Sep 16 14:54:19 2016 -0700 +Commit: Bryce Harrington +CommitDate: Mon Oct 10 14:39:19 2016 -0700 + + Fix grammar in cairo_*_reference() function documentation. + + "can be get" is incorrect grammar; "can be gotten" would be better, but + active voice is best. + + Signed-off-by: Bryce Harrington + + src/cairo-device.c | 4 ++-- + src/cairo-font-face.c | 4 ++-- + src/cairo-pattern.c | 4 ++-- + src/cairo-scaled-font.c | 4 ++-- + src/cairo-surface.c | 4 ++-- + src/cairo.c | 4 ++-- + 6 files changed, 12 insertions(+), 12 deletions(-) + +commit 4790a3663d12cfbbe643023713477204d61b1c4a +Author: Adrian Johnson +AuthorDate: Fri Oct 7 07:38:37 2016 +1030 +Commit: Adrian Johnson +CommitDate: Fri Oct 7 07:38:37 2016 +1030 + + strndup is not avuilable with MSVC + + src/cairo-pdf-interchange.c | 12 ++++++++++-- + test/pdf-tagged-text.c | 6 +++++- + 2 files changed, 15 insertions(+), 3 deletions(-) + +commit 55f8c6d9f4161f5ee2a11fd068f0ccb25a5b3aed +Author: Adrian Johnson +AuthorDate: Tue Oct 4 11:55:28 2016 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 4 12:00:30 2016 +1030 + + fix compiler warnings + + src/cairo-pdf-interchange.c | 6 +++--- + src/cairo-tag-attributes.c | 2 +- + test/pdf-tagged-text.c | 1 + + util/cairo-trace/trace.c | 1 + + 4 files changed, 6 insertions(+), 4 deletions(-) + +commit 3c33d9704119d0178230a0cf9929941592836eab +Author: Adrian Johnson +AuthorDate: Tue Oct 4 11:44:52 2016 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 4 12:00:30 2016 +1030 + + fix make check + + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf.h | 6 +++--- + src/cairo-tag-attributes-private.h | 5 ++++- + src/cairo-tag-stack-private.h | 1 + + 4 files changed, 9 insertions(+), 5 deletions(-) + +commit 23fd706bd1b83a00cdd3d666631e41e2ceab8a70 +Author: Adrian Johnson +AuthorDate: Sat Oct 1 22:48:05 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 22:48:05 2016 +0930 + + add test for PDF document interchange features such as tagged text and links + + test/Makefile.am | 1 + + test/Makefile.sources | 3 +- + test/pdf-tagged-text.c | 397 +++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 400 insertions(+), 1 deletion(-) + +commit 2d6a0f5d16d61c8f4236760c71061a0c4c3a199c +Author: Adrian Johnson +AuthorDate: Sat Oct 1 22:46:49 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 22:46:49 2016 +0930 + + pdf: thumbnail API + + doc/public/cairo-sections.txt | 1 + + src/cairo-paginated-private.h | 18 +++++++++- + src/cairo-paginated-surface.c | 64 +++++++++++++++++++++++++++++++++ + src/cairo-pdf-surface-private.h | 4 +++ + src/cairo-pdf-surface.c | 79 ++++++++++++++++++++++++++++++++++++++++- + src/cairo-pdf.h | 5 +++ + 6 files changed, 169 insertions(+), 2 deletions(-) + +commit 26b3f83ff652a284b79557ec1555b398c566a7eb +Author: Adrian Johnson +AuthorDate: Sat Oct 1 22:44:22 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 22:44:22 2016 +0930 + + pdf: page label API + + doc/public/cairo-sections.txt | 1 + + src/cairo-pdf-interchange.c | 115 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-pdf-surface-private.h | 3 ++ + src/cairo-pdf-surface.c | 43 +++++++++++++++ + src/cairo-pdf.h | 4 ++ + 5 files changed, 166 insertions(+) + +commit 5bfadd5530623d3b12fadf8cd22f95cec4132b65 +Author: Adrian Johnson +AuthorDate: Sat Oct 1 22:41:36 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 22:41:36 2016 +0930 + + pdf: metadata API + + doc/public/cairo-sections.txt | 2 + + src/cairo-pdf-interchange.c | 177 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-pdf-surface-private.h | 17 ++++ + src/cairo-pdf-surface.c | 69 +++++++++------- + src/cairo-pdf.h | 31 +++++++ + 5 files changed, 265 insertions(+), 31 deletions(-) + +commit dfc7b9e6698d5923a858ae9a77345c983ab51e4c +Author: Adrian Johnson +AuthorDate: Sat Oct 1 22:28:02 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 22:28:02 2016 +0930 + + pdf: add document outline API + + doc/public/cairo-sections.txt | 3 + + src/cairo-pdf-interchange.c | 182 +++++++++++++++++++++++++++++++++++++++- + src/cairo-pdf-surface-private.h | 22 +++++ + src/cairo-pdf-surface.c | 59 +++++++++++++ + src/cairo-pdf.h | 28 +++++++ + 5 files changed, 293 insertions(+), 1 deletion(-) + +commit dcbfb726478f5ab2277bd52813b40e565612566a +Author: Adrian Johnson +AuthorDate: Sat Oct 1 22:05:42 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 22:05:42 2016 +0930 + + pdf: structured text and hyperlink support + + doc/public/cairo-docs.xml | 1 + + doc/public/cairo-sections.txt | 8 + + src/Makefile.sources | 4 +- + src/cairo-device.c | 1 + + src/cairo-error-private.h | 1 + + src/cairo-misc.c | 2 + + src/cairo-pdf-interchange.c | 993 +++++++++++++++++++++++++++++++++++++ + src/cairo-pdf-operators-private.h | 8 + + src/cairo-pdf-operators.c | 37 ++ + src/cairo-pdf-surface-private.h | 111 +++++ + src/cairo-pdf-surface.c | 176 ++++++- + src/cairo-region.c | 1 + + src/cairo-spans.c | 2 + + src/cairo-surface.c | 1 + + src/cairo-tag-attributes-private.h | 73 +++ + src/cairo-tag-attributes.c | 570 +++++++++++++++++++++ + src/cairo-tag-stack-private.h | 106 ++++ + src/cairo-tag-stack.c | 279 +++++++++++ + src/cairo.c | 262 +++++++++- + src/cairo.h | 5 + + src/cairoint.h | 6 + + 21 files changed, 2617 insertions(+), 30 deletions(-) + +commit 25da407a5f1d136345759c0d0a2a1d985eb2b392 +Author: Adrian Johnson +AuthorDate: Sat Oct 1 17:30:13 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 17:30:13 2016 +0930 + + Support tag operations in analysis and paginated surface + + src/cairo-analysis-surface.c | 37 +++++++++++++++++++++++++++- + src/cairo-paginated-private.h | 2 +- + src/cairo-paginated-surface.c | 42 +++++++++++++++++++++++++++----- + src/cairo-pdf-surface.c | 4 ++- + src/cairo-ps-surface.c | 4 ++- + src/cairo-svg-surface.c | 4 ++- + src/test-paginated-surface.c | 4 ++- + src/win32/cairo-win32-printing-surface.c | 4 ++- + 8 files changed, 88 insertions(+), 13 deletions(-) + +commit 3bd5efa1b651503ed9f175f9ea62fff53f0b2882 +Author: Adrian Johnson +AuthorDate: Sat Oct 1 17:26:16 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 17:26:16 2016 +0930 + + Add tag functions to recording surface and surface-wrapper + + src/cairo-recording-surface-private.h | 15 +++ + src/cairo-recording-surface.c | 185 +++++++++++++++++++++++++++++++++- + src/cairo-surface-wrapper-private.h | 11 ++ + src/cairo-surface-wrapper.c | 47 +++++++++ + 4 files changed, 257 insertions(+), 1 deletion(-) + +commit 4e70815b349309e0a82bc8c52663e030c24a1add +Author: Adrian Johnson +AuthorDate: Sat Oct 1 17:14:28 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 1 17:14:28 2016 +0930 + + Add tag functions to cairo_t and cairo_surface_t + + The cairo_tag_begin/cairo_tag_end API is for supporting hyperlinks and + creating tagged PDF files. + + The source, ctm, and stroke style are passed to the backend to allow + these parameters to be used to specify hyperlink border attributes. + + src/cairo-backend-private.h | 3 ++ + src/cairo-default-context.c | 21 +++++++++++++ + src/cairo-gstate-private.h | 9 ++++++ + src/cairo-gstate.c | 59 +++++++++++++++++++++++++++++++++++++ + src/cairo-surface-backend-private.h | 12 ++++++++ + src/cairo-surface.c | 36 ++++++++++++++++++++++ + src/cairo.c | 49 ++++++++++++++++++++++++++++++ + src/cairo.h | 8 +++++ + src/cairoint.h | 11 +++++++ + 9 files changed, 208 insertions(+) + +commit b207a932a2d3740984319dffd58a0791580597cd +Author: Peter TB Brett +AuthorDate: Fri Sep 9 22:35:55 2016 +0930 +Commit: Adrian Johnson +CommitDate: Fri Sep 9 22:35:55 2016 +0930 + + Correctly decode Adobe CMYK JPEGs in PDF export + + Adobe PhotoShop generates CMYK JPEG files with inverted CMYK. When a + JPEG file with this format is included in a PDF file, a `/Decode` + array must be included to convert to "normal" CMYK. + + These JPEG files can be detected via the presence of the APP14 "Adobe" + marker. However, PDF viewers are not required to detect and handle + this private marker, so it must be detected and handled (by adding a + `/Decode`) by the PDF generator. + + Signed-Off-By: Peter TB Brett + + src/cairo-image-info-private.h | 1 + + src/cairo-image-info.c | 21 +++++++++++++++++++++ + src/cairo-pdf-surface.c | 2 ++ + 3 files changed, 24 insertions(+) + +commit a69e5af9cd62d1e8d9f503a9d74338a49e31f9cd +Author: Ed Schouten +AuthorDate: Sun Sep 4 08:41:27 2016 +0200 +Commit: Andrea Canciani +CommitDate: Sun Sep 4 11:05:43 2016 +0200 + + Write debugging information to the debugging file + + Some debugging functions wrote to stdout, which is inconsistent with + the other debugging functions of the same groups. + + Instead they should write to the debugging file that they are given as + input. + + Reviewed-by: Andrea Canciani + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=95227 + + src/cairo-debug.c | 2 +- + src/cairo-pattern.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit efc40a94939a75c78474862638647bd5363d08cf +Author: Ed Schouten +AuthorDate: Sun Sep 4 08:34:49 2016 +0200 +Commit: Andrea Canciani +CommitDate: Sun Sep 4 08:45:06 2016 +0200 + + Prevent observer surfaces from writing to stdout + + Invoking cairo_surface_mark_dirty () on an observer surface would + cause it to print debugging output to stdout. + + Reviewed-by: Andrea Canciani + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=95227 + + src/cairo-surface-observer.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 0aad04a88b43d949f5715b89e656fd7bd0f2243c +Author: Behdad Esfahbod +AuthorDate: Fri Sep 2 15:54:01 2016 -0700 +Commit: Behdad Esfahbod +CommitDate: Fri Sep 2 15:54:01 2016 -0700 + + Bug 29319 - Modules are built as versioned shared objects + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29319 + + util/cairo-fdr/Makefile.am | 2 +- + util/cairo-sphinx/Makefile.am | 2 +- + util/cairo-trace/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit cbbd02f9c5389522cddecd53ca109f2e3ef98f58 +Author: darxus@chaosreigns.com +AuthorDate: Tue Jul 26 13:38:52 2016 -0400 +Commit: Bryce Harrington +CommitDate: Wed Aug 31 20:29:57 2016 -0700 + + Add example to run specific tests by name to the test/README + + Reviewed-by: Bryce Harrington + Reviewed-by: Uli Schlachter + + test/README | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 66205ad48efaea3ebb87b344719b64c8745f177e +Author: darxus@chaosreigns.com +AuthorDate: Thu Aug 18 15:53:18 2016 -0400 +Commit: Bryce Harrington +CommitDate: Wed Aug 31 18:22:10 2016 -0700 + + Remove closed poppler bugs from test/README + + These bugs have all been closed resolved / fixed for years. + + Reviewed-by: Bryce Harrington + + test/README | 40 +--------------------------------------- + 1 file changed, 1 insertion(+), 39 deletions(-) + +commit 35a1761776c97e7e4c3fa54cbe143007e8f3b422 +Author: Olivier Blin +AuthorDate: Thu Nov 26 18:56:48 2015 +0100 +Commit: Bryce Harrington +CommitDate: Wed Aug 31 14:35:12 2016 -0700 + + Pull -lz for the script backend + + It uses cairo_deflate_stream. + + Reviewed-by: Bryce Harrington + Acked-by: Behdad Esfahbod + + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +commit 1057487ce8560ae0377bb509fc46eaf18df7aee0 +Author: Hans Petter Jansson +AuthorDate: Wed Jan 27 12:55:01 2016 -0600 +Commit: Behdad Esfahbod +CommitDate: Tue Aug 2 14:21:45 2016 -0700 + + scaled-font: Fix deadlock when recursing in _cairo_scaled_font_reset_cache() + + The destruction of a scaled font could indirectly trigger the destruction + of a second scaled font, causing the global cache to be locked twice in + the same thread. + + This is solved by unlinking the font's glyph pages while holding the global + lock, then releasing the lock before destruction takes place. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93891 + + src/cairo-scaled-font.c | 24 ++++++++++++++++++------ + 1 file changed, 18 insertions(+), 6 deletions(-) + +commit 3f8241f48488d3da4afce6646e043ee70cf1cfd2 +Author: Uli Schlachter +AuthorDate: Sun Jul 17 15:08:51 2016 +0200 +Commit: Uli Schlachter +CommitDate: Thu Jul 21 18:58:58 2016 +0200 + + cairo-xcb: Remove a wrong optimisation + + When doing a "complicated" mask operation, we draw the clip to a surface and use + this as a mask in later operations. The code assumes that this operation draws + to the whole target surface and thus a deferred clear may be skipped. + + However, this requires that the extents of the trapezoids that will be drawn and + the extents of the surface are the same. This assumption is wrong, as can be + seen e.g. by the bug report that this commit fixes. + + The fix is just not to skip the deferred clear. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84330 + Signed-off-by: Uli Schlachter + + src/cairo-xcb-surface-render.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 56ad58a8078c5818d85b9c93ea4e3bc94ea887c8 +Author: Adrian Johnson +AuthorDate: Tue Jul 19 22:42:10 2016 +0930 +Commit: Adrian Johnson +CommitDate: Tue Jul 19 22:42:53 2016 +0930 + + pdf: fix combined image/smask + + a736fd8 introduced a regression + + src/cairo-pdf-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d28b6d9b128675dfa9b3b6b793844144183aff64 +Author: Adrian Johnson +AuthorDate: Mon Jul 18 18:43:03 2016 +0930 +Commit: Adrian Johnson +CommitDate: Mon Jul 18 18:43:03 2016 +0930 + + pattern: revert an unintentional change added in 190678f + + src/cairo-pattern.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8a921e6c3ee1cbd7353cd28c23802cfef3e48224 +Author: Adrian Johnson +AuthorDate: Sun Jul 17 21:33:12 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jul 17 21:33:12 2016 +0930 + + truetype: reverse cmap search should end when 0xffff- 0xffff range reached + + src/cairo-truetype-subset.c | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +commit 16a8c13b6acad62c8844bf641c1296a9f4aac09d +Author: Adrian Johnson +AuthorDate: Sun Jul 17 21:19:37 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jul 17 21:19:37 2016 +0930 + + pdf: Don't fail subsetting if unable to convert utf8 to utf16 + + If the unicode came from the font, don't fail if utf8_to_utf16 fails. + + src/cairo-pdf-surface.c | 32 +++++++++++++++++++------------- + src/cairo-scaled-font-subsets.c | 6 +++++- + 2 files changed, 24 insertions(+), 14 deletions(-) + +commit 190678f6444ad879847d603c3c9eaf8e9ab6887a +Author: Adrian Johnson +AuthorDate: Sat Jul 16 14:59:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Jul 16 15:42:23 2016 +0930 + + pattern: don't round extents to 0 on vector surfaces + + In this bug a Type 3 font contains a dash glyph. The dash glyph + consists of an 82x2 image. The image height, when scaled to user space, + is < 1 resuling in the drawing operation for the image being culled. + + https://bugs.freedesktop.org/show_bug.cgi?id=94615 + + src/cairo-analysis-surface.c | 4 ++-- + src/cairo-composite-rectangles.c | 7 ++++--- + src/cairo-pattern-private.h | 3 ++- + src/cairo-pattern.c | 14 +++++++++++--- + 4 files changed, 19 insertions(+), 9 deletions(-) + +commit 1a380ef5f37339583b8ab7b964025445b4fbb215 +Author: Adrian Johnson +AuthorDate: Fri Jul 15 22:03:04 2016 +0930 +Commit: Adrian Johnson +CommitDate: Fri Jul 15 22:03:04 2016 +0930 + + ps/pdf: remove debug and commented out code + + src/cairo-pdf-surface.c | 2 +- + src/cairo-ps-surface.c | 31 ------------------------------- + 2 files changed, 1 insertion(+), 32 deletions(-) + +commit 0e6f7deac1092666464b81866f5d5a13866befe4 +Author: Adrian Johnson +AuthorDate: Fri Jul 15 16:24:03 2016 +0930 +Commit: Adrian Johnson +CommitDate: Fri Jul 15 16:32:53 2016 +0930 + + ps: flush ASCII85Decode file after use + + If the image operator does not read all the ASCII85 data, the PS + interpreter will try to execute the next byte of unread data. + + Define our own image operator that calls flushfile (reads until end of + file) on the filter after drawing the image. + + https://bugs.freedesktop.org/show_bug.cgi?id=84811 + + src/cairo-ps-surface.c | 25 ++++++++++++++++++------- + 1 file changed, 18 insertions(+), 7 deletions(-) + +commit b73c082c7f412f53eb2e4b52689601128a5f06a0 +Author: Adrian Johnson +AuthorDate: Sat Jul 9 18:19:16 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Jul 9 18:31:55 2016 +0930 + + truetype: Don't write glyph if num_contours == 0 + + According to the Opentype spec, num_contours in a glyf table entry can + be > 0 (single glyph) or < 0 (composite glyph). num_contours == 0 is + undefined. + + The embedded font in the test case for this bug contained a space + glyph with num_contours == 0. This was failing on some printers. + According to the spec, glyphs with no outlines such as space are + required to have a 0 size entry in the loca table. + + https://bugs.freedesktop.org/show_bug.cgi?id=79897 + + src/cairo-truetype-subset.c | 30 ++++++++++++++++++++++++------ + 1 file changed, 24 insertions(+), 6 deletions(-) + +commit 38fdcc30a3fe64800a732affaa211ac38eb8dfad +Author: Bryce Harrington +AuthorDate: Wed Jul 6 15:46:00 2016 -0700 +Commit: Bryce Harrington +CommitDate: Wed Jul 6 15:46:00 2016 -0700 + + cairo-misc: Whitespace cleanup + + src/cairo-misc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit deb994488ff5f5ca1ad770cef66cad7a04606e94 +Author: Adrian Johnson +AuthorDate: Sat Jun 18 13:41:28 2016 +0930 +Commit: Adrian Johnson +CommitDate: Tue Jul 5 20:26:47 2016 +0930 + + test: refresh text-rotate ref images + + test/reference/text-rotate.pdf.ref.png | Bin 16006 -> 16045 bytes + test/reference/text-rotate.ps.ref.png | Bin 8668 -> 8632 bytes + test/reference/text-rotate.ref.png | Bin 16360 -> 16456 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit bb4595130b2087ae7c32d688267fa32f398de7c7 +Author: Adrian Johnson +AuthorDate: Sat Jun 18 13:16:57 2016 +0930 +Commit: Adrian Johnson +CommitDate: Tue Jul 5 20:26:47 2016 +0930 + + ft: set font size to em size when retrieving unhinted metrics + + fixes text-unhinted-metrics test + + src/cairo-ft-font.c | 142 +++++++++++++++++++++++++++++++++------------------- + 1 file changed, 91 insertions(+), 51 deletions(-) + +commit d92015e4f9e654580c1dac6adf860eafd804a4ba +Author: Adrian Johnson +AuthorDate: Sat Jun 18 13:15:37 2016 +0930 +Commit: Adrian Johnson +CommitDate: Tue Jul 5 20:26:47 2016 +0930 + + add test text-unhinted-metrics + + Based on bug report in https://lists.cairographics.org/archives/cairo/2016-April/027334.html + + test/Makefile.sources | 1 + + test/reference/text-unhinted-metrics.pdf.ref.png | Bin 0 -> 4083 bytes + test/reference/text-unhinted-metrics.ps.ref.png | Bin 0 -> 3426 bytes + test/reference/text-unhinted-metrics.ref.png | Bin 0 -> 4104 bytes + test/text-unhinted-metrics.c | 73 +++++++++++++++++++++++ + 5 files changed, 74 insertions(+) + +commit 1ada65c34f7b76920501af34979dceaa9e7030d9 +Author: Adrian Johnson +AuthorDate: Sun Jul 3 10:39:08 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jul 3 10:39:08 2016 +0930 + + pdf: remove unused variable + + src/cairo-pdf-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit c2dc5aa6849fb41cd42cea66d18436bacac25bbd +Author: Adrian Johnson +AuthorDate: Sun Jul 3 10:38:46 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jul 3 10:38:46 2016 +0930 + + recording: Remove unused function + + src/cairo-recording-surface.c | 15 --------------- + 1 file changed, 15 deletions(-) + +commit 97d8b2b7de5084cafa282630f5b1147c4ef05cb8 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Thu Jun 30 17:46:39 2016 +0200 +Commit: Uli Schlachter +CommitDate: Sat Jul 2 13:38:25 2016 +0200 + + qt: replaced calls to _cairo_clip_init_copy() by _cairo_clip_copy() + + _cairo_clip_init_copy() was removed with commit b132fae5e843c329d1414d1a65b2e8d66b99852f, + but a few calls were still remaining. + + Signed-off-by: Enrico Weigelt, metux IT consult + Signed-off-by: Uli Schlachter + + src/cairo-qt-surface.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f212db2fccfa3825d6a4dc55d5077e5fb756d50b +Author: Enrico Weigelt, metux IT consult +AuthorDate: Thu Jun 30 17:45:45 2016 +0200 +Commit: Uli Schlachter +CommitDate: Sat Jul 2 13:35:38 2016 +0200 + + core: fixed code duplication + + We have two places where copying from box set to clip is + implemented in the same way. Just move that to one function. + + Signed-off-by: Enrico Weigelt, metux IT consult + Signed-off-by: Uli Schlachter + + src/cairo-clip-boxes.c | 50 ++++++++++++++++++++++++++++++++++---------------- + 1 file changed, 34 insertions(+), 16 deletions(-) + +commit 5bb43c92b3b35e9df8bdb8b14997e98c4a05d917 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Thu Jun 30 17:45:44 2016 +0200 +Commit: Uli Schlachter +CommitDate: Sat Jul 2 13:35:38 2016 +0200 + + core: dropped actually unused parameter of _cairo_boxes_to_array() + + When parameter force_allocation is false *and* the box set has + exactly one chunk, this chunk is returned directly - w/o copying it. + + That mode is never used, and it's highly problematic as it's unclear + whether we have to free the returnd object or it's still owned + by somebody else. + + Just dropping the useless parameter / corner case to make the function + simpler and more robust. + + Signed-off-by: Enrico Weigelt, metux IT consult + Signed-off-by: Uli Schlachter + + src/cairo-boxes-private.h | 3 +-- + src/cairo-boxes.c | 5 +---- + src/cairo-clip-boxes.c | 4 ++-- + 3 files changed, 4 insertions(+), 8 deletions(-) + +commit b23c2291d8fdebd417697d5b70f31226632e3a1e +Author: Enrico Weigelt, metux IT consult +AuthorDate: Thu Jun 30 17:45:43 2016 +0200 +Commit: Uli Schlachter +CommitDate: Sat Jul 2 13:35:34 2016 +0200 + + core: helper inline for rect->box conversion + + Signed-off-by: Enrico Weigelt, metux IT consult + Signed-off-by: Uli Schlachter + + src/cairo-box-inline.h | 10 ++++++++++ + src/cairo-clip-boxes.c | 11 ++--------- + 2 files changed, 12 insertions(+), 9 deletions(-) + +commit ae403448af410984852aeff76278dc96e7141b9e +Author: Enrico Weigelt, metux IT consult +AuthorDate: Thu Jun 30 17:45:42 2016 +0200 +Commit: Uli Schlachter +CommitDate: Sat Jul 2 13:27:11 2016 +0200 + + core: fix compiler warnings + + The code correct, but the compiler can't check that and thinks + there're uninitialized variables. + + Perhaps we could rewrite it in a better way, so the compiler + can do better (even arch specific) optimizations. + + Signed-off-by: Enrico Weigelt, metux IT consult + Signed-off-by: Uli Schlachter + + src/cairo-botor-scan-converter.c | 2 +- + src/cairo-line.c | 8 ++++---- + src/cairo-polygon-intersect.c | 2 +- + src/cairo-polygon-reduce.c | 2 +- + 4 files changed, 7 insertions(+), 7 deletions(-) + +commit 1272db90f85cf031e5d2ffb73d1af1259c9d4fb9 +Author: Adrian Johnson +AuthorDate: Tue Jun 21 19:44:48 2016 +0930 +Commit: Adrian Johnson +CommitDate: Tue Jun 21 19:44:48 2016 +0930 + + win32: gcc 5.4 build fix + + boilerplate/cairo-boilerplate-win32.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 90d50cd92315d6760069ad8062aba5e297370b20 +Author: Adrian Johnson +AuthorDate: Sun Jun 19 19:52:32 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 19 19:52:32 2016 +0930 + + win32-print: fix unbounded surface assertion + + https://lists.cairographics.org/archives/cairo/2016-June/027445.html + + src/win32/cairo-win32-printing-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d69dd6b341594c338fa6c7b327fd7f201eb37bc1 +Author: Uli Schlachter +AuthorDate: Sat Jun 18 15:08:52 2016 +0200 +Commit: Uli Schlachter +CommitDate: Sun Jun 19 11:34:35 2016 +0200 + + xlib: Fix double free in _get_image_surface() + + If XShmGetImage() fails, the code tries to continue with its normal, + non-shared-memory path. However, the image variable, which was previously set to + NULL, now points to an already-destroyed surface, causing a double-free when the + function cleans up after itself (actually, its an assertion failure because the + reference count of the surface is zero, but technically this is still a double + free). + + Fix this by setting image=NULL after destroying the surface that this refers to, + to make sure this surface will not be destroyed again. + + While we are here (multiple changes in a single commit are bad...), also fix the + cleanup done in bail. In practice, &image->base should be safe when image==NULL, + because this just adds some offset to the pointer (the offset here is actually + zero, so this doesn't do anything at all). However, the C standard does not + require this to be safe, so let's handle this case specially. + + Note that anything that is fixed by this change is still buggy, because the only + reason why XShmGetImage() could fail would be BadDrawable, meaning that the + target we draw to does not exist or was already destroyed. This patch will + likely just cause X11 errors elsewhere and drawing to (possible) invalid + drawables is not supported by cairo anyway. This means that if SHM fails, the + following fallback code has a high chance of failing, too. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91967 + Signed-off-by: Uli Schlachter + + src/cairo-xlib-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit eb808aa6250f1a44a2f5efff5c9ad3df44cb4d1d +Author: Adrian Johnson +AuthorDate: Sun Jun 19 14:08:55 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 19 14:08:55 2016 +0930 + + image: only cache analyzed transparency/color for snapshot surfaces + + https://lists.cairographics.org/archives/cairo/2016-June/027429.html + + src/cairo-image-surface.c | 86 +++++++++++++++++++++++++++++------------------ + 1 file changed, 54 insertions(+), 32 deletions(-) + +commit 113ba5f3fa48f9f826b86ff9198ce0d35144eea4 +Author: Adrian Johnson +AuthorDate: Sun Jun 5 20:34:44 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + Update ref images + + ref images were creating using Debian Jessie 64-bit and latest poppler. + + test/README | 10 +++++----- + test/reference/arc-direction.pdf.ref.png | Bin 0 -> 6175 bytes + test/reference/arc-direction.ref.png | Bin 6073 -> 6175 bytes + test/reference/arc-looping-dash.pdf.ref.png | Bin 0 -> 472 bytes + test/reference/big-empty-box.ps.rgb24.ref.png | Bin 0 -> 108 bytes + test/reference/big-empty-triangle.ps.rgb24.ref.png | Bin 0 -> 108 bytes + test/reference/big-little-box.ps.rgb24.ref.png | Bin 0 -> 160 bytes + test/reference/bitmap-font.ps.rgb24.ref.png | Bin 0 -> 871 bytes + test/reference/bug-51910.pdf.ref.png | Bin 0 -> 1908 bytes + test/reference/bug-51910.ps.ref.png | Bin 0 -> 2180 bytes + test/reference/bug-84115.pdf.ref.png | Bin 0 -> 62959 bytes + test/reference/bug-84115.ps.arg32.ref.png | Bin 0 -> 61982 bytes + test/reference/bug-84115.ps.argb32.ref.png | Bin 0 -> 61982 bytes + test/reference/bug-84115.ps.rgb24.ref.png | Bin 0 -> 61982 bytes + test/reference/bug-bo-ricotz.argb32.ref.png | Bin 0 -> 2123 bytes + test/reference/bug-bo-ricotz.pdf.rgb24.ref.png | Bin 0 -> 2123 bytes + test/reference/bug-bo-ricotz.ps.ref.png | Bin 0 -> 2081 bytes + test/reference/bug-extents.pdf.ref.png | Bin 0 -> 2639 bytes + test/reference/bug-source-cu.pdf.argb32.ref.png | Bin 0 -> 3206 bytes + test/reference/bug-source-cu.pdf.rgb24.ref.png | Bin 0 -> 3216 bytes + test/reference/bug-source-cu.ps.argb32.ref.png | Bin 0 -> 3192 bytes + test/reference/bug-source-cu.ps.rgb24.ref.png | Bin 0 -> 3192 bytes + test/reference/bug-spline.ps.ref.png | Bin 0 -> 3563 bytes + test/reference/caps-05.pdf.ref.png | Bin 0 -> 1230 bytes + test/reference/caps-05.ps.ref.png | Bin 0 -> 1046 bytes + test/reference/caps-1.pdf.ref.png | Bin 0 -> 1230 bytes + test/reference/caps-1.ps.ref.png | Bin 0 -> 1195 bytes + test/reference/caps-2.pdf.ref.png | Bin 0 -> 1446 bytes + test/reference/caps-2.ps.ref.png | Bin 0 -> 1211 bytes + test/reference/caps-joins-05.pdf.ref.png | Bin 0 -> 2377 bytes + test/reference/caps-joins-05.ps.ref.png | Bin 0 -> 1485 bytes + test/reference/caps-joins-1.pdf.ref.png | Bin 0 -> 2377 bytes + test/reference/caps-joins-1.ps.ref.png | Bin 0 -> 1638 bytes + test/reference/caps-joins-2.pdf.ref.png | Bin 0 -> 1716 bytes + test/reference/caps-joins-2.ps.ref.png | Bin 0 -> 1597 bytes + test/reference/caps-joins-curve.pdf.ref.png | Bin 0 -> 5721 bytes + test/reference/caps-joins.pdf.ref.png | Bin 0 -> 1712 bytes + test/reference/caps-sub-paths.pdf.ref.png | Bin 0 -> 165 bytes + test/reference/caps-tails-curve.pdf.ref.png | Bin 0 -> 53213 bytes + test/reference/caps.pdf.ref.png | Bin 0 -> 1836 bytes + test/reference/checkerboard.pdf.ref.png | Bin 0 -> 152 bytes + test/reference/clip-complex-bug61592.pdf.ref.png | Bin 0 -> 128 bytes + test/reference/clip-complex-bug61592.ps.ref.png | Bin 0 -> 104 bytes + test/reference/clip-device-offset.ps.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/clip-disjoint-quad.pdf.ref.png | Bin 0 -> 1555 bytes + test/reference/clip-disjoint-quad.ps.ref.png | Bin 0 -> 1560 bytes + test/reference/clip-disjoint.ps.ref.png | Bin 4037 -> 4515 bytes + test/reference/clip-fill-no-op.ps.ref.png | Bin 0 -> 153 bytes + .../clip-fill-rule-pixel-aligned.ps.argb32.ref.png | Bin 0 -> 175 bytes + .../clip-fill-rule-pixel-aligned.ps.rgb24.ref.png | Bin 0 -> 165 bytes + test/reference/clip-fill-rule.pdf.argb32.ref.png | Bin 509 -> 507 bytes + test/reference/clip-fill-rule.pdf.rgb24.ref.png | Bin 0 -> 375 bytes + test/reference/clip-fill-rule.rgb24.ref.png | Bin 376 -> 375 bytes + test/reference/clip-fill.ps.ref.png | Bin 0 -> 516 bytes + test/reference/clip-fill.ps.xfail.png | Bin 522 -> 0 bytes + test/reference/clip-image.pdf.ref.png | Bin 0 -> 2681 bytes + test/reference/clip-intersect.ps.ref.png | Bin 0 -> 204 bytes + test/reference/clip-operator.pdf.argb32.ref.png | Bin 8792 -> 7827 bytes + test/reference/clip-operator.pdf.rgb24.ref.png | Bin 4683 -> 0 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3417 -> 3421 bytes + test/reference/clip-push-group.pdf.ref.png | Bin 164 -> 181 bytes + test/reference/clip-rectilinear.ps.ref.png | Bin 0 -> 395 bytes + ...p-rotate-image-surface-paint.pdf.argb32.ref.png | Bin 0 -> 369 bytes + ...ip-rotate-image-surface-paint.pdf.rgb24.ref.png | Bin 0 -> 369 bytes + .../clip-rotate-image-surface-paint.ps.ref.png | Bin 0 -> 207 bytes + test/reference/clip-stroke-no-op.ps.ref.png | Bin 0 -> 153 bytes + .../reference/clip-stroke-unbounded.argb32.ref.png | Bin 4097 -> 4040 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3486 -> 3410 bytes + test/reference/clip-stroke.ps.ref.png | Bin 0 -> 818 bytes + test/reference/clip-stroke.ps.xfail.png | Bin 662 -> 0 bytes + test/reference/clip-text.ps.ref.png | Bin 0 -> 428 bytes + test/reference/clip-text.ps.xfail.png | Bin 434 -> 0 bytes + test/reference/clipped-group.pdf.ref.png | Bin 334 -> 280 bytes + .../reference/close-path-current-point.pdf.ref.png | Bin 0 -> 1959 bytes + test/reference/close-path.pdf.argb32.ref.png | Bin 0 -> 285 bytes + test/reference/close-path.pdf.rgb24.ref.png | Bin 0 -> 285 bytes + test/reference/copy-path.pdf.ref.png | Bin 0 -> 618 bytes + test/reference/culled-glyphs.ps.ref.png | Bin 372 -> 290 bytes + test/reference/dash-caps-joins.pdf.ref.png | Bin 0 -> 4710 bytes + test/reference/dash-caps-joins.ps.ref.png | Bin 3648 -> 3669 bytes + test/reference/dash-curve.pdf.ref.png | Bin 0 -> 40984 bytes + test/reference/dash-curve.ps.ref.png | Bin 0 -> 24058 bytes + test/reference/dash-curve.ps2.ref.png | Bin 24355 -> 0 bytes + test/reference/dash-curve.ps3.ref.png | Bin 24355 -> 0 bytes + test/reference/dash-infinite-loop.pdf.ref.png | Bin 0 -> 665 bytes + test/reference/dash-scale.pdf.ref.png | Bin 0 -> 7824 bytes + test/reference/dash-state.pdf.ref.png | Bin 0 -> 7407 bytes + test/reference/dash-zero-length.pdf.argb32.ref.png | Bin 0 -> 233 bytes + test/reference/dash-zero-length.pdf.rgb24.ref.png | Bin 0 -> 199 bytes + test/reference/degenerate-curve-to.pdf.ref.png | Bin 0 -> 282 bytes + .../degenerate-linear-gradient.pdf.ref.png | Bin 0 -> 328 bytes + test/reference/degenerate-path.pdf.argb32.ref.png | Bin 0 -> 282 bytes + test/reference/degenerate-path.pdf.rgb24.ref.png | Bin 0 -> 205 bytes + test/reference/degenerate-pen.pdf.argb32.ref.png | Bin 0 -> 1004 bytes + test/reference/degenerate-pen.pdf.rgb24.ref.png | Bin 0 -> 1004 bytes + .../degenerate-radial-gradient.pdf.ref.png | Bin 0 -> 439 bytes + test/reference/degenerate-rel-curve-to.pdf.ref.png | Bin 0 -> 277 bytes + .../reference/device-offset-fractional.pdf.ref.png | Bin 0 -> 260 bytes + .../device-offset-positive.ps.rgb24.ref.png | Bin 0 -> 111 bytes + test/reference/device-offset.ps.rgb24.ref.png | Bin 0 -> 111 bytes + test/reference/extend-pad-border.pdf.ref.png | Bin 495 -> 505 bytes + test/reference/fallback.pdf.ref.png | Bin 0 -> 6318 bytes + test/reference/fallback.ps.ref.png | Bin 0 -> 4053 bytes + test/reference/fill-alpha.ps.argb32.ref.png | Bin 2248 -> 2737 bytes + .../fill-and-stroke-alpha-add.pdf.ref.png | Bin 0 -> 562 bytes + test/reference/fill-and-stroke-alpha.pdf.ref.png | Bin 0 -> 520 bytes + test/reference/fill-and-stroke.pdf.argb32.ref.png | Bin 0 -> 359 bytes + test/reference/fill-and-stroke.pdf.rgb24.ref.png | Bin 0 -> 311 bytes + .../fill-degenerate-sort-order.argb32.ref.png | Bin 2390 -> 2402 bytes + .../fill-degenerate-sort-order.pdf.ref.png | Bin 0 -> 2545 bytes + .../fill-degenerate-sort-order.rgb24.ref.png | Bin 2048 -> 2057 bytes + test/reference/fill-empty.ps.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/fill-image.ps.ref.png | Bin 1645 -> 1760 bytes + test/reference/fill-missed-stop.pdf.argb32.ref.png | Bin 452 -> 445 bytes + test/reference/fill-missed-stop.pdf.rgb24.ref.png | Bin 0 -> 375 bytes + test/reference/fill-rule.pdf.ref.png | Bin 0 -> 2444 bytes + test/reference/fill-rule.rgb24.ref.png | Bin 1763 -> 1763 bytes + .../finer-grained-fallbacks.pdf.argb32.ref.png | Bin 0 -> 1308 bytes + .../finer-grained-fallbacks.pdf.rgb24.ref.png | Bin 0 -> 880 bytes + .../finer-grained-fallbacks.ps.argb32.ref.png | Bin 0 -> 1262 bytes + .../finer-grained-fallbacks.ps.rgb24.ref.png | Bin 0 -> 880 bytes + .../finer-grained-fallbacks.ps2.argb32.ref.png | Bin 1168 -> 0 bytes + test/reference/finer-grained-fallbacks.ps2.ref.png | Bin 1356 -> 0 bytes + .../finer-grained-fallbacks.ps2.rgb24.ref.png | Bin 936 -> 0 bytes + .../finer-grained-fallbacks.ps3.argb32.ref.png | Bin 1168 -> 0 bytes + test/reference/finer-grained-fallbacks.ps3.ref.png | Bin 1356 -> 0 bytes + .../finer-grained-fallbacks.ps3.rgb24.ref.png | Bin 936 -> 0 bytes + test/reference/font-matrix-translation.ps.ref.png | Bin 0 -> 584 bytes + .../font-matrix-translation.ps2.argb32.ref.png | Bin 748 -> 0 bytes + .../font-matrix-translation.ps2.rgb24.ref.png | Bin 748 -> 0 bytes + .../font-matrix-translation.ps3.argb32.ref.png | Bin 748 -> 0 bytes + .../font-matrix-translation.ps3.rgb24.ref.png | Bin 748 -> 0 bytes + .../ft-show-glyphs-positioning.pdf.ref.png | Bin 3117 -> 3238 bytes + .../ft-show-glyphs-positioning.ps.ref.png | Bin 0 -> 1696 bytes + .../ft-show-glyphs-positioning.ps2.ref.png | Bin 2269 -> 0 bytes + .../ft-show-glyphs-positioning.ps3.ref.png | Bin 2269 -> 0 bytes + test/reference/ft-show-glyphs-table.ps.ref.png | Bin 0 -> 4561 bytes + test/reference/ft-show-glyphs-table.ps2.ref.png | Bin 5687 -> 0 bytes + test/reference/ft-show-glyphs-table.ps3.ref.png | Bin 5687 -> 0 bytes + .../ft-text-vertical-layout-type3.pdf.ref.png | Bin 3639 -> 3236 bytes + .../ft-text-vertical-layout-type3.ps.ref.png | Bin 2134 -> 2109 bytes + .../ft-text-vertical-layout-type3.ref.png | Bin 3609 -> 3605 bytes + test/reference/glyph-cache-pressure.ps.ref.png | Bin 0 -> 1239 bytes + test/reference/glyph-cache-pressure.ps2.ref.png | Bin 1454 -> 0 bytes + test/reference/glyph-cache-pressure.ps3.ref.png | Bin 1454 -> 0 bytes + test/reference/gradient-alpha.pdf.argb32.ref.png | Bin 0 -> 133 bytes + test/reference/gradient-alpha.pdf.rgb24.ref.png | Bin 0 -> 124 bytes + .../gradient-constant-alpha.pdf.argb32.ref.png | Bin 0 -> 103 bytes + .../gradient-constant-alpha.pdf.rgb24.ref.png | Bin 0 -> 103 bytes + .../gradient-zero-stops-mask.ps.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/gradient-zero-stops.ps.rgb24.png | Bin 0 -> 86 bytes + test/reference/group-unaligned.ps.ref.png | Bin 321 -> 310 bytes + test/reference/halo-transform.ps.ref.png | Bin 8691 -> 8704 bytes + test/reference/halo.ps.ref.png | Bin 5220 -> 5368 bytes + test/reference/huge-linear.pdf.ref.png | Bin 1586 -> 1640 bytes + test/reference/huge-radial.pdf.ref.png | Bin 0 -> 47469 bytes + test/reference/huge-radial.ref.png | Bin 41702 -> 47247 bytes + .../image-surface-source.ps.argb32.ref.png | Bin 0 -> 484 bytes + .../image-surface-source.ps.rgb24.ref.png | Bin 0 -> 475 bytes + test/reference/image-surface-source.ps2.ref.png | Bin 376 -> 0 bytes + test/reference/image-surface-source.ps3.ref.png | Bin 376 -> 0 bytes + test/reference/infinite-join.pdf.ref.png | Bin 0 -> 132 bytes + test/reference/inverse-text.ps.ref.png | Bin 0 -> 748 bytes + test/reference/joins-loop.ps.ref.png | Bin 0 -> 2963 bytes + test/reference/joins-star.ps.ref.png | Bin 0 -> 3334 bytes + test/reference/joins.pdf.argb32.ref.png | Bin 0 -> 6320 bytes + test/reference/joins.pdf.rgb24.ref.png | Bin 0 -> 6320 bytes + test/reference/large-font.ps.ref.png | Bin 0 -> 5007 bytes + test/reference/leaky-dashed-stroke.pdf.ref.png | Bin 0 -> 9283 bytes + test/reference/leaky-polygon.pdf.ref.png | Bin 0 -> 330 bytes + .../line-width-large-overlap-offset.ps.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-rotated.ps.ref.png | Bin 0 -> 385 bytes + .../reference/line-width-overlap-offset.ps.ref.png | Bin 0 -> 349 bytes + .../line-width-overlap-rotated.ps.ref.png | Bin 0 -> 632 bytes + test/reference/line-width-scale.pdf.ref.png | Bin 0 -> 5670 bytes + test/reference/line-width-tolerance.pdf.ref.png | Bin 0 -> 163 bytes + test/reference/line-width-tolerance.ps.ref.png | Bin 0 -> 265 bytes + test/reference/line-width.pdf.ref.png | Bin 0 -> 180 bytes + test/reference/linear-gradient-extend.pdf.ref.png | Bin 0 -> 388 bytes + test/reference/linear-gradient-large.pdf.ref.png | Bin 0 -> 3050 bytes + test/reference/linear-gradient-large.ps.ref.png | Bin 0 -> 3551 bytes + .../linear-gradient-one-stop.ps.rgb24.ref.png | Bin 0 -> 174 bytes + test/reference/linear-gradient-subset.pdf.ref.png | Bin 0 -> 811 bytes + test/reference/linear-gradient-subset.ref.png | Bin 813 -> 805 bytes + test/reference/linear-gradient.pdf.ref.png | Bin 0 -> 963 bytes + test/reference/linear-gradient.ps3.ref.png | Bin 779 -> 622 bytes + test/reference/linear-gradient.ref.png | Bin 959 -> 960 bytes + test/reference/linear-uniform.ps.ref.png | Bin 0 -> 129 bytes + test/reference/long-dashed-lines.pdf.ref.png | Bin 0 -> 2092 bytes + test/reference/mask-ctm.ps.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/mask-surface-ctm.ps.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/mask-transformed-image.pdf.ref.png | Bin 3528 -> 3811 bytes + test/reference/mask-transformed-image.ps.ref.png | Bin 0 -> 3777 bytes + .../reference/mask-transformed-similar.pdf.ref.png | Bin 4213 -> 3528 bytes + test/reference/mask-transformed-similar.ps.ref.png | Bin 0 -> 3532 bytes + test/reference/mask.argb32.ref.png | Bin 8530 -> 8577 bytes + test/reference/mask.pdf.argb32.ref.png | Bin 7554 -> 7618 bytes + test/reference/mask.pdf.rgb24.ref.png | Bin 7043 -> 7078 bytes + test/reference/mask.rgb24.ref.png | Bin 7160 -> 7140 bytes + test/reference/mesh-pattern-conical.pdf.ref.png | Bin 0 -> 8767 bytes + test/reference/mesh-pattern-conical.ps.ref.png | Bin 0 -> 11374 bytes + .../mesh-pattern-control-points.pdf.ref.png | Bin 0 -> 10939 bytes + .../mesh-pattern-control-points.ps.ref.png | Bin 0 -> 18415 bytes + test/reference/mesh-pattern-fold.pdf.ref.png | Bin 0 -> 53096 bytes + test/reference/mesh-pattern-fold.ps.ref.png | Bin 0 -> 71806 bytes + test/reference/mesh-pattern-overlap.pdf.ref.png | Bin 0 -> 9114 bytes + test/reference/mesh-pattern-overlap.ps.ref.png | Bin 0 -> 11238 bytes + .../reference/mesh-pattern-transformed.pdf.ref.png | Bin 0 -> 14510 bytes + test/reference/mesh-pattern-transformed.ps.ref.png | Bin 0 -> 14604 bytes + test/reference/mesh-pattern.pdf.ref.png | Bin 0 -> 19722 bytes + test/reference/mesh-pattern.ps.ref.png | Bin 0 -> 19765 bytes + test/reference/new-sub-path.pdf.argb32.ref.png | Bin 512 -> 519 bytes + test/reference/new-sub-path.pdf.rgb24.ref.png | Bin 0 -> 390 bytes + test/reference/nil-surface.ps.rgb24.ref.png | Bin 0 -> 87 bytes + test/reference/operator-alpha-alpha.pdf.ref.png | Bin 0 -> 3402 bytes + test/reference/operator-alpha-alpha.ps.ref.png | Bin 0 -> 4283 bytes + test/reference/operator-clear.pdf.argb32.ref.png | Bin 0 -> 1150 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 939 -> 940 bytes + test/reference/operator-source.argb32.ref.png | Bin 5620 -> 5619 bytes + test/reference/operator-source.rgb24.ref.png | Bin 4006 -> 4010 bytes + .../reference/over-above-source.ps3.argb32.ref.png | Bin 558 -> 529 bytes + .../over-around-source.ps3.argb32.ref.png | Bin 508 -> 472 bytes + .../over-between-source.ps3.argb32.ref.png | Bin 551 -> 539 bytes + test/reference/overlapping-boxes.ps.argb32.ref.png | Bin 0 -> 161 bytes + test/reference/overlapping-boxes.ps.rgb24.ref.png | Bin 0 -> 170 bytes + .../overlapping-glyphs.pdf.argb32.ref.png | Bin 0 -> 2179 bytes + .../reference/overlapping-glyphs.pdf.rgb24.ref.png | Bin 0 -> 1656 bytes + test/reference/overlapping-glyphs.ps.rgb24.ref.png | Bin 0 -> 1613 bytes + test/reference/paint-source-alpha.pdf.ref.png | Bin 0 -> 245 bytes + .../paint-with-alpha-clip-mask.pdf.ref.png | Bin 0 -> 344 bytes + test/reference/paint-with-alpha-clip.pdf.ref.png | Bin 0 -> 309 bytes + .../paint-with-alpha-solid-clip.pdf.ref.png | Bin 0 -> 265 bytes + test/reference/paint-with-alpha.pdf.ref.png | Bin 0 -> 245 bytes + test/reference/partial-clip-text-bottom.ps.ref.png | Bin 0 -> 192 bytes + test/reference/partial-clip-text-left.ps.ref.png | Bin 0 -> 218 bytes + test/reference/partial-clip-text-right.ps.ref.png | Bin 0 -> 123 bytes + test/reference/partial-clip-text-top.ps.ref.png | Bin 107 -> 98 bytes + test/reference/pass-through.ps.rgb24.ref.png | Bin 0 -> 313 bytes + test/reference/path-stroke-twice.pdf.ref.png | Bin 0 -> 214 bytes + .../reference/pdf-surface-source.ps.argb32.ref.png | Bin 0 -> 307 bytes + test/reference/pdf-surface-source.ps.rgb24.ref.png | Bin 0 -> 312 bytes + .../reference/pixman-downscale-best-24.pdf.ref.png | Bin 0 -> 162 bytes + test/reference/pixman-downscale-best-24.ps.ref.png | Bin 0 -> 391 bytes + test/reference/pixman-downscale-best-24.ref.png | Bin 191 -> 601 bytes + test/reference/pixman-downscale-best-96.ps.ref.png | Bin 0 -> 581 bytes + .../pixman-downscale-bilinear-24.ps.ref.png | Bin 0 -> 391 bytes + .../pixman-downscale-bilinear-96.ps.ref.png | Bin 0 -> 581 bytes + test/reference/pixman-downscale-good-24.ps.ref.png | Bin 0 -> 391 bytes + test/reference/pixman-downscale-good-96.ps.ref.png | Bin 0 -> 581 bytes + test/reference/pixman-rotate.ps.argb32.ref.png | Bin 355 -> 358 bytes + test/reference/pixman-rotate.ps.rgb24.ref.png | Bin 0 -> 221 bytes + test/reference/ps-surface-source.ps.argb32.ref.png | Bin 0 -> 307 bytes + test/reference/ps-surface-source.ps.rgb24.ref.png | Bin 0 -> 312 bytes + test/reference/pthread-show-text.pdf.ref.png | Bin 47015 -> 46891 bytes + test/reference/pthread-show-text.ps.ref.png | Bin 16558 -> 17905 bytes + test/reference/radial-gradient-extend.pdf.ref.png | Bin 0 -> 483 bytes + test/reference/random-clip.pdf.argb32.ref.png | Bin 0 -> 524985 bytes + test/reference/random-clip.pdf.rgb24.ref.png | Bin 0 -> 524985 bytes + test/reference/random-clip.ps.argb32.ref.png | Bin 0 -> 461852 bytes + test/reference/random-clip.ps.rgb24.ref.png | Bin 0 -> 524985 bytes + test/reference/random-clip.ref.png | Bin 525010 -> 524985 bytes + ...ndom-intersections-curves-eo.pdf.argb32.ref.png | Bin 0 -> 257915 bytes + .../random-intersections-curves-eo.pdf.ref.png | Bin 246507 -> 0 bytes + ...andom-intersections-curves-eo.pdf.rgb24.ref.png | Bin 0 -> 257898 bytes + ...ndom-intersections-curves-nz.pdf.argb32.ref.png | Bin 0 -> 263071 bytes + ...andom-intersections-curves-nz.pdf.rgb24.ref.png | Bin 0 -> 263052 bytes + test/reference/random-intersections-eo.pdf.ref.png | Bin 0 -> 149460 bytes + test/reference/random-intersections-eo.ref.png | Bin 135555 -> 135553 bytes + .../random-intersections-nonzero.pdf.ref.png | Bin 0 -> 152364 bytes + .../reference/random-intersections-nonzero.ref.png | Bin 141737 -> 141727 bytes + test/reference/record-extend-none.ps.ref.png | Bin 0 -> 307 bytes + test/reference/record-extend-pad.ps.ref.png | Bin 0 -> 341 bytes + test/reference/record-extend-reflect.ps.ref.png | Bin 0 -> 354 bytes + test/reference/record-extend-repeat.ps.ref.png | Bin 0 -> 299 bytes + test/reference/record-fill-alpha.pdf.ref.png | Bin 0 -> 2831 bytes + test/reference/record-fill-alpha.ref.png | Bin 2754 -> 2831 bytes + test/reference/record-mesh.pdf.argb32.ref.png | Bin 0 -> 15215 bytes + test/reference/record-mesh.pdf.rgb24.ref.png | Bin 0 -> 14953 bytes + test/reference/record-mesh.ps.ref.png | Bin 0 -> 15215 bytes + test/reference/record-mesh.ref.png | Bin 15400 -> 15215 bytes + ...record-paint-alpha-clip-mask.pdf.argb32.ref.png | Bin 0 -> 340 bytes + .../record-paint-alpha-clip-mask.pdf.rgb24.ref.png | Bin 0 -> 349 bytes + .../reference/record-paint-alpha-clip-mask.ref.png | Bin 335 -> 340 bytes + .../record-paint-alpha-clip.pdf.argb32.ref.png | Bin 0 -> 296 bytes + .../record-paint-alpha-clip.pdf.rgb24.ref.png | Bin 0 -> 309 bytes + .../record-paint-alpha-solid-clip.pdf.ref.png | Bin 0 -> 265 bytes + .../record-replay-extend-none.ps.argb32.ref.png | Bin 0 -> 707 bytes + .../record-replay-extend-none.ps.rgb24.ref.png | Bin 0 -> 448 bytes + .../record-replay-extend-pad.ps.rgb24.ref.png | Bin 0 -> 1041 bytes + .../record-replay-extend-reflect.ps.argb32.ref.png | Bin 0 -> 2393 bytes + .../record-replay-extend-repeat.ps.argb32.ref.png | Bin 0 -> 3562 bytes + .../record-replay-extend-repeat.ps.rgb24.ref.png | Bin 0 -> 3467 bytes + .../record-select-font-face.pdf.argb32.ref.png | Bin 0 -> 1417 bytes + .../record-select-font-face.pdf.rgb24.ref.png | Bin 0 -> 2236 bytes + test/reference/record-select-font-face.ps.ref.png | Bin 0 -> 834 bytes + test/reference/record-select-font-face.ref.png | Bin 2250 -> 1417 bytes + .../record-self-intersecting.pdf.rgb24.ref.png | Bin 0 -> 194 bytes + test/reference/record-self-intersecting.ps.ref.png | Bin 0 -> 186 bytes + .../record-text-transform.pdf.argb32.ref.png | Bin 0 -> 5281 bytes + .../record-text-transform.pdf.rgb24.ref.png | Bin 0 -> 5577 bytes + .../record-text-transform.ps.argb32.ref.png | Bin 0 -> 1216 bytes + .../record-text-transform.ps.rgb24.ref.png | Bin 0 -> 1216 bytes + test/reference/record-text-transform.ref.png | Bin 5579 -> 5281 bytes + .../record1414x-fill-alpha.pdf.argb32.ref.png | Bin 0 -> 4152 bytes + .../record1414x-fill-alpha.pdf.rgb24.ref.png | Bin 0 -> 4227 bytes + test/reference/record1414x-fill-alpha.ps.ref.png | Bin 0 -> 4152 bytes + test/reference/record1414x-fill-alpha.ref.png | Bin 4124 -> 4243 bytes + ...d1414x-paint-alpha-clip-mask.pdf.argb32.ref.png | Bin 0 -> 522 bytes + ...rd1414x-paint-alpha-clip-mask.pdf.rgb24.ref.png | Bin 0 -> 860 bytes + .../record1414x-paint-alpha-clip-mask.ps.ref.png | Bin 0 -> 524 bytes + .../record1414x-paint-alpha-clip-mask.ref.png | Bin 460 -> 566 bytes + ...record1414x-paint-alpha-clip.pdf.argb32.ref.png | Bin 0 -> 390 bytes + .../record1414x-paint-alpha-clip.pdf.rgb24.ref.png | Bin 0 -> 636 bytes + .../record1414x-paint-alpha-clip.ps.ref.png | Bin 0 -> 391 bytes + ...1414x-paint-alpha-solid-clip.pdf.argb32.ref.png | Bin 0 -> 334 bytes + ...d1414x-paint-alpha-solid-clip.pdf.rgb24.ref.png | Bin 0 -> 663 bytes + .../record1414x-paint-alpha-solid-clip.ps.ref.png | Bin 0 -> 333 bytes + .../record1414x-paint-alpha.pdf.argb32.ref.png | Bin 0 -> 287 bytes + .../record1414x-paint-alpha.pdf.rgb24.ref.png | Bin 0 -> 665 bytes + test/reference/record1414x-paint-alpha.ps.ref.png | Bin 0 -> 285 bytes + ...record1414x-select-font-face.pdf.argb32.ref.png | Bin 0 -> 2018 bytes + .../record1414x-select-font-face.pdf.rgb24.ref.png | Bin 0 -> 3191 bytes + .../record1414x-select-font-face.ps.argb32.ref.png | Bin 0 -> 1196 bytes + .../record1414x-select-font-face.ps.rgb24.ref.png | Bin 0 -> 1194 bytes + .../reference/record1414x-select-font-face.ref.png | Bin 3177 -> 2018 bytes + ...ecord1414x-self-intersecting.pdf.argb32.ref.png | Bin 0 -> 385 bytes + ...record1414x-self-intersecting.pdf.rgb24.ref.png | Bin 0 -> 384 bytes + ...record1414x-self-intersecting.ps.argb32.ref.png | Bin 0 -> 274 bytes + .../record1414x-self-intersecting.ps.rgb24.ref.png | Bin 0 -> 287 bytes + .../record1414x-text-transform.pdf.argb32.ref.png | Bin 0 -> 8364 bytes + .../record1414x-text-transform.pdf.rgb24.ref.png | Bin 0 -> 8599 bytes + .../record1414x-text-transform.ps.ref.png | Bin 0 -> 6009 bytes + test/reference/record1414x-text-transform.ref.png | Bin 8713 -> 8365 bytes + .../record2x-fill-alpha.pdf.argb32.ref.png | Bin 0 -> 5811 bytes + .../record2x-fill-alpha.pdf.rgb24.ref.png | Bin 0 -> 5870 bytes + test/reference/record2x-fill-alpha.ps.ref.png | Bin 0 -> 5811 bytes + test/reference/record2x-fill-alpha.ref.png | Bin 5756 -> 5870 bytes + ...cord2x-paint-alpha-clip-mask.pdf.argb32.ref.png | Bin 0 -> 483 bytes + ...ecord2x-paint-alpha-clip-mask.pdf.rgb24.ref.png | Bin 0 -> 593 bytes + .../record2x-paint-alpha-clip-mask.ps.ref.png | Bin 0 -> 483 bytes + .../record2x-paint-alpha-clip-mask.ref.png | Bin 483 -> 491 bytes + .../record2x-paint-alpha-clip.pdf.argb32.ref.png | Bin 0 -> 340 bytes + .../record2x-paint-alpha-clip.pdf.rgb24.ref.png | Bin 0 -> 432 bytes + ...ord2x-paint-alpha-solid-clip.pdf.argb32.ref.png | Bin 0 -> 300 bytes + ...cord2x-paint-alpha-solid-clip.pdf.rgb24.ref.png | Bin 0 -> 379 bytes + .../record2x-paint-alpha.pdf.argb32.ref.png | Bin 0 -> 312 bytes + .../record2x-paint-alpha.pdf.rgb24.ref.png | Bin 0 -> 402 bytes + .../record2x-select-font-face.pdf.rgb24.ref.png | Bin 0 -> 4421 bytes + .../reference/record2x-select-font-face.ps.ref.png | Bin 0 -> 1716 bytes + test/reference/record2x-select-font-face.ref.png | Bin 4407 -> 3098 bytes + .../record2x-text-transform.pdf.argb32.ref.png | Bin 0 -> 13174 bytes + .../record2x-text-transform.pdf.rgb24.ref.png | Bin 0 -> 13762 bytes + test/reference/record2x-text-transform.ps.ref.png | Bin 0 -> 2421 bytes + test/reference/record2x-text-transform.ref.png | Bin 13476 -> 13072 bytes + test/reference/record90-fill-alpha.pdf.ref.png | Bin 0 -> 2663 bytes + .../record90-fill-alpha.pdf.rgb24.ref.png | Bin 0 -> 1090 bytes + test/reference/record90-fill-alpha.ref.png | Bin 2656 -> 2663 bytes + ...cord90-paint-alpha-clip-mask.pdf.argb32.ref.png | Bin 0 -> 339 bytes + ...ecord90-paint-alpha-clip-mask.pdf.rgb24.ref.png | Bin 0 -> 345 bytes + .../record90-paint-alpha-clip.pdf.argb32.ref.png | Bin 0 -> 335 bytes + .../record90-paint-alpha-clip.pdf.rgb24.ref.png | Bin 0 -> 327 bytes + test/reference/record90-paint-alpha-clip.ref.png | Bin 306 -> 335 bytes + ...ord90-paint-alpha-solid-clip.pdf.argb32.ref.png | Bin 0 -> 293 bytes + ...cord90-paint-alpha-solid-clip.pdf.rgb24.ref.png | Bin 0 -> 270 bytes + test/reference/record90-paint-alpha.ps.ref.png | Bin 0 -> 105 bytes + .../record90-select-font-face.pdf.rgb24.ref.png | Bin 0 -> 2278 bytes + .../reference/record90-select-font-face.ps.ref.png | Bin 0 -> 880 bytes + test/reference/record90-select-font-face.ref.png | Bin 2272 -> 1480 bytes + .../record90-self-intersecting.pdf.rgb24.ref.png | Bin 0 -> 188 bytes + .../record90-self-intersecting.ps.ref.png | Bin 0 -> 193 bytes + test/reference/record90-self-intersecting.ref.png | Bin 240 -> 214 bytes + .../record90-text-transform.pdf.rgb24.ref.png | Bin 0 -> 5817 bytes + test/reference/record90-text-transform.ps.ref.png | Bin 0 -> 4055 bytes + test/reference/record90-text-transform.ref.png | Bin 5811 -> 5481 bytes + test/reference/recordflip-fill-alpha.ref.png | Bin 2803 -> 2841 bytes + ...ordflip-paint-alpha-clip-mask.pdf.rgb24.ref.png | Bin 0 -> 359 bytes + .../recordflip-paint-alpha-clip-mask.ref.png | Bin 351 -> 356 bytes + .../recordflip-paint-alpha-clip.pdf.rgb24.ref.png | Bin 0 -> 336 bytes + .../recordflip-select-font-face.pdf.rgb24.ref.png | Bin 0 -> 2206 bytes + .../recordflip-select-font-face.ps.argb32.ref.png | Bin 0 -> 868 bytes + .../recordflip-select-font-face.ps.rgb24.ref.png | Bin 0 -> 868 bytes + test/reference/recordflip-select-font-face.ref.png | Bin 2240 -> 1395 bytes + .../recordflip-self-intersecting.pdf.rgb24.ref.png | Bin 0 -> 194 bytes + .../recordflip-self-intersecting.ps.ref.png | Bin 0 -> 186 bytes + .../recordflip-text-transform.pdf.rgb24.ref.png | Bin 0 -> 5611 bytes + .../recordflip-text-transform.ps.argb32.ref.png | Bin 0 -> 3879 bytes + .../recordflip-text-transform.ps.rgb24.ref.png | Bin 0 -> 3879 bytes + test/reference/recordflip-text-transform.ref.png | Bin 5609 -> 5343 bytes + test/reference/recordflip-whole-fill-alpha.ref.png | Bin 2803 -> 2799 bytes + .../recordflip-whole-paint-alpha-clip-mask.ref.png | Bin 351 -> 351 bytes + .../recordflip-whole-select-font-face.ref.png | Bin 2240 -> 1395 bytes + .../recordflip-whole-text-transform.ref.png | Bin 5609 -> 5343 bytes + ...ecording-surface-extend-none.pdf.argb32.ref.png | Bin 0 -> 3941 bytes + ...recording-surface-extend-none.pdf.rgb24.ref.png | Bin 0 -> 3775 bytes + ...recording-surface-extend-none.ps.argb32.ref.png | Bin 0 -> 3986 bytes + .../recording-surface-extend-none.ps.rgb24.ref.png | Bin 0 -> 3831 bytes + ...rding-surface-extend-reflect.pdf.argb32.ref.png | Bin 0 -> 29897 bytes + ...ording-surface-extend-reflect.pdf.rgb24.ref.png | Bin 0 -> 29901 bytes + ...ording-surface-extend-reflect.ps.argb32.ref.png | Bin 0 -> 33344 bytes + ...cording-surface-extend-reflect.ps.rgb24.ref.png | Bin 0 -> 33726 bytes + ...ording-surface-extend-repeat.pdf.argb32.ref.png | Bin 0 -> 26323 bytes + ...cording-surface-extend-repeat.pdf.rgb24.ref.png | Bin 0 -> 25867 bytes + ...cording-surface-extend-repeat.ps.argb32.ref.png | Bin 0 -> 28155 bytes + ...ecording-surface-extend-repeat.ps.rgb24.ref.png | Bin 0 -> 28131 bytes + .../recording-surface-over.pdf.argb32.ref.png | Bin 3908 -> 3941 bytes + .../recording-surface-over.pdf.rgb24.ref.png | Bin 3760 -> 3775 bytes + .../recording-surface-over.ps.argb32.ref.png | Bin 3064 -> 3986 bytes + .../recording-surface-over.ps.rgb24.ref.png | Bin 3147 -> 3831 bytes + .../recording-surface-source.pdf.argb32.ref.png | Bin 0 -> 3986 bytes + .../recording-surface-source.pdf.rgb24.ref.png | Bin 0 -> 3831 bytes + .../recording-surface-source.ps.argb32.ref.png | Bin 0 -> 3986 bytes + .../recording-surface-source.ps.rgb24.ref.png | Bin 0 -> 3831 bytes + .../rectilinear-dash-scale-unaligned.pdf.ref.png | Bin 0 -> 729 bytes + .../rectilinear-dash-scale-unaligned.ps.ref.png | Bin 0 -> 1659 bytes + test/reference/reflected-stroke.pdf.ref.png | Bin 0 -> 5197 bytes + .../rotate-clip-image-surface-paint.pdf.argb32.png | Bin 0 -> 223 bytes + .../rotate-clip-image-surface-paint.pdf.rgb24.png | Bin 0 -> 362 bytes + .../rotate-clip-image-surface-paint.ps.argb32.png | Bin 0 -> 196 bytes + test/reference/rotated-clip.pdf.ref.png | Bin 0 -> 3777 bytes + test/reference/rotated-clip.ps.argb32.png | Bin 0 -> 3444 bytes + test/reference/rotated-clip.ps.argb32.ref.png | Bin 0 -> 3444 bytes + test/reference/rotated-clip.ps.ref.png | Bin 3378 -> 0 bytes + test/reference/rotated-clip.ps.rgb24.ref.png | Bin 0 -> 3834 bytes + .../scale-offset-image.pdf.argb32.ref.png | Bin 7643 -> 0 bytes + test/reference/scale-offset-image.pdf.ref.png | Bin 0 -> 9530 bytes + .../reference/scale-offset-image.pdf.rgb24.ref.png | Bin 7643 -> 0 bytes + test/reference/scale-offset-image.ref.png | Bin 9748 -> 9508 bytes + .../scale-offset-similar.pdf.argb32.ref.png | Bin 8419 -> 0 bytes + test/reference/scale-offset-similar.pdf.ref.png | Bin 0 -> 9742 bytes + .../scale-offset-similar.pdf.rgb24.ref.png | Bin 8419 -> 0 bytes + test/reference/scale-offset-similar.ref.png | Bin 9779 -> 9508 bytes + test/reference/self-intersecting.ref.png | Bin 168 -> 0 bytes + test/reference/shape-sierpinski.pdf.argb32.ref.png | Bin 39520 -> 0 bytes + test/reference/shape-sierpinski.pdf.ref.png | Bin 0 -> 64796 bytes + test/reference/shape-sierpinski.pdf.rgb24.ref.png | Bin 39520 -> 0 bytes + test/reference/simple-edge.ref.png | Bin 1922 -> 2494 bytes + test/reference/smask-fill.pdf.ref.png | Bin 1105 -> 1153 bytes + test/reference/smask-image-mask.pdf.ref.png | Bin 615 -> 616 bytes + test/reference/smask-mask.pdf.ref.png | Bin 2308 -> 2288 bytes + test/reference/smask-paint.pdf.ref.png | Bin 2431 -> 2422 bytes + test/reference/smask-stroke.pdf.ref.png | Bin 0 -> 1712 bytes + test/reference/smask-text.pdf.ref.png | Bin 1874 -> 1862 bytes + test/reference/smask-text.ps.ref.png | Bin 0 -> 1875 bytes + test/reference/smask-text.ps2.ref.png | Bin 2023 -> 0 bytes + test/reference/smask-text.ps3.ref.png | Bin 2023 -> 0 bytes + test/reference/smask.pdf.ref.png | Bin 0 -> 3432 bytes + test/reference/smask.ps3.ref.png | Bin 0 -> 3455 bytes + test/reference/spline-decomposition.pdf.ref.png | Bin 19540 -> 19434 bytes + test/reference/spline-decomposition.ps.ref.png | Bin 8939 -> 8994 bytes + test/reference/stroke-clipped.ps.ref.png | Bin 0 -> 3306 bytes + test/reference/stroke-ctm-caps.pdf.ref.png | Bin 0 -> 861 bytes + test/reference/stroke-image.pdf.ref.png | Bin 1006 -> 1565 bytes + test/reference/stroke-image.ps.ref.png | Bin 1535 -> 1758 bytes + test/reference/stroke-pattern.pdf.argb32.ref.png | Bin 0 -> 1512 bytes + test/reference/stroke-pattern.pdf.rgb24.ref.png | Bin 0 -> 1512 bytes + .../surface-pattern-big-scale-down.ps.ref.png | Bin 235 -> 242 bytes + ...rface-pattern-scale-down-extend-none.ps.ref.png | Bin 0 -> 335 bytes + .../surface-pattern-scale-down.pdf.ref.png | Bin 2189 -> 2192 bytes + .../surface-pattern-scale-down.ps.ref.png | Bin 0 -> 984 bytes + .../surface-pattern-scale-down.ps2.ref.png | Bin 1324 -> 0 bytes + .../surface-pattern-scale-down.ps3.ref.png | Bin 1324 -> 0 bytes + test/reference/surface-pattern-scale-down.ref.png | Bin 1326 -> 1839 bytes + .../reference/surface-pattern-scale-up.pdf.ref.png | Bin 3482 -> 3419 bytes + test/reference/surface-pattern-scale-up.ps.ref.png | Bin 0 -> 926 bytes + .../reference/surface-pattern-scale-up.ps2.ref.png | Bin 913 -> 0 bytes + .../reference/surface-pattern-scale-up.ps3.ref.png | Bin 913 -> 0 bytes + test/reference/surface-pattern.pdf.ref.png | Bin 0 -> 11441 bytes + test/reference/surface-pattern.pdf.xfail.png | Bin 10532 -> 0 bytes + ...ern.ps.xfail.png => surface-pattern.ps.ref.png} | Bin + test/reference/svg-surface-source.ps.rgb24.ref.png | Bin 0 -> 312 bytes + test/reference/text-glyph-range.pdf.ref.png | Bin 0 -> 1848 bytes + test/reference/text-glyph-range.ps.ref.png | Bin 1253 -> 1237 bytes + test/reference/text-pattern.pdf.argb32.ref.png | Bin 1515 -> 3329 bytes + test/reference/text-pattern.pdf.rgb24.ref.png | Bin 1339 -> 2738 bytes + test/reference/text-pattern.ps3.argb32.ref.png | Bin 881 -> 1760 bytes + test/reference/text-pattern.ps3.rgb24.ref.png | Bin 862 -> 2670 bytes + test/reference/text-rotate.pdf.ref.png | Bin 16744 -> 16006 bytes + test/reference/text-rotate.ps.ref.png | Bin 8765 -> 8668 bytes + test/reference/text-rotate.ref.png | Bin 16356 -> 16360 bytes + test/reference/text-transform.pdf.argb32.ref.png | Bin 5507 -> 5574 bytes + test/reference/text-transform.pdf.rgb24.ref.png | Bin 5507 -> 5574 bytes + test/reference/text-transform.ps.ref.png | Bin 0 -> 1227 bytes + test/reference/text-transform.ps2.ref.png | Bin 3943 -> 0 bytes + test/reference/text-transform.ps3.ref.png | Bin 3943 -> 0 bytes + test/reference/tiger.pdf.ref.png | Bin 0 -> 20326 bytes + test/reference/tiger.ps.ref.png | Bin 0 -> 69007 bytes + test/reference/tiger.ref.png | Bin 94477 -> 94474 bytes + test/reference/tighten-bounds.pdf.ref.png | Bin 0 -> 6466 bytes + test/reference/tighten-bounds.ps.ref.png | Bin 0 -> 6466 bytes + test/reference/transforms.pdf.ref.png | Bin 0 -> 314 bytes + test/reference/trap-clip.argb32.ref.png | Bin 5822 -> 5857 bytes + test/reference/trap-clip.pdf.argb32.ref.png | Bin 0 -> 241 bytes + test/reference/trap-clip.pdf.rgb24.ref.png | Bin 0 -> 241 bytes + test/reference/trap-clip.rgb24.ref.png | Bin 5422 -> 5462 bytes + test/reference/twin.pdf.argb32.ref.png | Bin 0 -> 2976 bytes + test/reference/twin.pdf.rgb24.ref.png | Bin 0 -> 3442 bytes + test/reference/twin.ps.ref.png | Bin 2136 -> 2103 bytes + .../unbounded-operator.pdf.argb32.ref.png | Bin 2713 -> 2646 bytes + .../reference/unbounded-operator.pdf.rgb24.ref.png | Bin 0 -> 1308 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1303 -> 1308 bytes + test/reference/unclosed-strokes.pdf.ref.png | Bin 0 -> 1504 bytes + test/reference/unclosed-strokes.ps.ref.png | Bin 0 -> 1404 bytes + test/reference/user-font-proxy.pdf.argb32.ref.png | Bin 16937 -> 4049 bytes + test/reference/user-font-proxy.pdf.ref.png | Bin 18111 -> 0 bytes + test/reference/user-font-proxy.ps.ref.png | Bin 7837 -> 7828 bytes + test/reference/user-font-rescale.pdf.rgb24.ref.png | Bin 0 -> 14592 bytes + test/reference/user-font-rescale.ps.ref.png | Bin 6781 -> 7309 bytes + test/reference/user-font.pdf.ref.png | Bin 6241 -> 2626 bytes + test/reference/user-font.ps.ref.png | Bin 4605 -> 4464 bytes + test/reference/world-map-fill.pdf.argb32.ref.png | Bin 0 -> 57390 bytes + test/reference/world-map-fill.pdf.rgb24.ref.png | Bin 0 -> 57390 bytes + test/reference/world-map-fill.ps.argb32.ref.png | Bin 0 -> 42057 bytes + test/reference/world-map-fill.ps.rgb24.ref.png | Bin 0 -> 42057 bytes + test/reference/world-map-stroke.pdf.argb32.ref.png | Bin 0 -> 51127 bytes + test/reference/world-map-stroke.pdf.rgb24.ref.png | Bin 0 -> 51127 bytes + test/reference/world-map-stroke.ps.argb32.ref.png | Bin 0 -> 54440 bytes + test/reference/world-map-stroke.ps.rgb24.ref.png | Bin 0 -> 54440 bytes + test/reference/world-map.pdf.argb32.ref.png | Bin 0 -> 61486 bytes + test/reference/world-map.pdf.rgb24.ref.png | Bin 0 -> 61486 bytes + test/reference/world-map.ps.argb32.ref.png | Bin 0 -> 71083 bytes + test/reference/world-map.ps.rgb24.ref.png | Bin 0 -> 71083 bytes + test/reference/zero-mask.ref.png | Bin 402 -> 0 bytes + 522 files changed, 5 insertions(+), 5 deletions(-) + +commit 1c5ec6e3806587eff1fbb640c63838ef2768c2cb +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + Fix PS record-neg-extents test failure + + src/cairo-analysis-surface.c | 111 +++++---- + src/cairo-debug.c | 8 + + src/cairo-pdf-surface.c | 40 +-- + src/cairo-ps-surface-private.h | 5 +- + src/cairo-ps-surface.c | 538 +++++++++++++++++++++++------------------ + src/cairo-recording-surface.c | 5 +- + src/cairoint.h | 3 + + 7 files changed, 409 insertions(+), 301 deletions(-) + +commit a14d319e4385033d726861dcd448154d393ffc53 +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + ps: change from ps coordinates to cairo coordinates + + src/cairo-ps-surface.c | 34 +++++++++++++++++++++------------- + 1 file changed, 21 insertions(+), 13 deletions(-) + +commit 14fa88fd02d81cdab52c882b98a1130148b72820 +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + pdf: fix record-replay-extend test failures + + src/cairo-analysis-surface.c | 7 +- + src/cairo-paginated-surface.c | 2 +- + src/cairo-pdf-surface-private.h | 1 + + src/cairo-pdf-surface.c | 91 +++++++++++++-------- + src/cairo-recording-surface-private.h | 3 +- + src/cairo-recording-surface.c | 19 ++--- + src/cairo-surface-wrapper-private.h | 1 + + src/cairo-surface-wrapper.c | 7 +- + .../record-neg-extents-bounded.pdf.rgb24.ref.png | Bin 520 -> 477 bytes + .../record-neg-extents-unbounded.pdf.rgb24.ref.png | Bin 520 -> 477 bytes + .../record-replay-extend-none.pdf.argb32.ref.png | Bin 0 -> 737 bytes + .../record-replay-extend-none.pdf.rgb24.ref.png | Bin 0 -> 472 bytes + .../record-replay-extend-pad.pdf.argb32.ref.png | Bin 0 -> 1111 bytes + ...record-replay-extend-reflect.pdf.argb32.ref.png | Bin 0 -> 8821 bytes + .../record-replay-extend-reflect.pdf.rgb24.ref.png | Bin 0 -> 7783 bytes + .../record-replay-extend-repeat.pdf.argb32.ref.png | Bin 0 -> 8785 bytes + .../record-replay-extend-repeat.pdf.rgb24.ref.png | Bin 0 -> 7620 bytes + 17 files changed, 81 insertions(+), 50 deletions(-) + +commit e7b1cb0c53fe0dc9af4cae280c34d98a1165bcf1 +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + image: fix record-replay-extend test failures + + src/cairo-image-source.c | 67 +++++++++++++-------- + src/cairo-pattern.c | 2 + + test/reference/record-replay-extend-pad.ref.png | Bin 0 -> 1150 bytes + .../reference/record-replay-extend-reflect.ref.png | Bin 0 -> 1960 bytes + test/reference/record-replay-extend-repeat.ref.png | Bin 0 -> 1885 bytes + 5 files changed, 45 insertions(+), 24 deletions(-) + +commit 8e4d4de2a3ceb67188c93f8fbf22ed79be927753 +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + test: replay record surface with negative extents for each extend mode + + image fails for repeat, reflect, and pad. + + test/Makefile.sources | 1 + + test/record-replay-extend.c | 227 +++++++++++++++++++++++ + test/reference/record-replay-extend-none.ref.png | Bin 0 -> 554 bytes + 3 files changed, 228 insertions(+) + +commit a736fd8699e0ebcdd98392acb8383ea414688caf +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + Fix PDF record-neg-extents test failure + + Modify PDF surface to allow surface extents to have negative x, y. + When emitting recording surfaces, set the surface extents to the + recording extents. + + src/cairo-analysis-surface.c | 16 + + src/cairo-debug.c | 11 +- + src/cairo-pattern.c | 31 +- + src/cairo-pdf-surface-private.h | 10 +- + src/cairo-pdf-surface.c | 417 +++++++++++---------- + src/cairoint.h | 5 +- + .../record-neg-extents-bounded.pdf.argb32.ref.png | Bin 0 -> 520 bytes + .../record-neg-extents-bounded.pdf.rgb24.ref.png | Bin 0 -> 520 bytes + ...record-neg-extents-unbounded.pdf.argb32.ref.png | Bin 0 -> 520 bytes + .../record-neg-extents-unbounded.pdf.rgb24.ref.png | Bin 0 -> 520 bytes + 10 files changed, 284 insertions(+), 206 deletions(-) + +commit 1e07ced66d26475e6631df9ffa2a15709104bd8f +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + pdf: change from pdf coordinates to cairo coordinates + + When an unbounded recording surface is used multiple times with + different extents for each operation we need the XObject containing + the recording surface to have the same origin for each operation. This + is not possible when the recording surface is converted to PDF + coordinates because each operation has different extents resulting in + a different origin when the Y-axis is flipped (since the flip matrix + depends on the recording surface height which for unbounded surfaces + depends on the extents of the operation that paints the recording + surface). + + Switching to cairo coordinates by emitting a Y-axis flip matrix as the + first object of each page allows the recording surface to be emitted + in cairo coordinates. This results in the same origin for all + operations using the recording surface XObject. + + src/cairo-pdf-operators.c | 3 -- + src/cairo-pdf-surface-private.h | 12 +++++++ + src/cairo-pdf-surface.c | 78 ++++++++++++++++++++++++++++++++--------- + src/cairo-type3-glyph-surface.c | 23 ++++-------- + 4 files changed, 81 insertions(+), 35 deletions(-) + +commit d2dc2e90a71ae4822845ac4bab3871475335a69e +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + Fix test failures when recording surface extents has negative x,y + + Fixes record-neg-bounded-extents (image only) and + recording-ink-extents. + + src/cairo-surface-wrapper.c | 6 ------ + test/reference/record-neg-extents-bounded.ref.png | Bin 0 -> 632 bytes + 2 files changed, 6 deletions(-) + +commit 58df191946b7d275c5706dc40e1cf3dffa7cceae +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + Add recording-ink-extents test + + bounded_fill fails returning extents origin of (0, 0) instead of (-150, -100) + + test/Makefile.sources | 1 + + test/recording-ink-extents.c | 172 +++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 173 insertions(+) + +commit 9fff6f0be3ed1a7af474ddfd8e384eb0376093c2 +Author: Adrian Johnson +AuthorDate: Sat Jun 4 14:43:43 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sun Jun 5 20:43:36 2016 +0930 + + test: add record-neg-extents + + Test case for bug 89232 - painting a recording surface to a + pdf/ps surface omits objects on the recording surface with negative + coordinates even though the pattern matrix has transformed the objects + to within the page extents. + + The image surface also fails when the recording surface is bounded. + + test/Makefile.sources | 1 + + test/record-neg-extents.c | 217 +++++++++++++++++++++ + .../reference/record-neg-extents-unbounded.ref.png | Bin 0 -> 668 bytes + 3 files changed, 218 insertions(+) + +commit 00a36e46524790deb36048fddd911daa1cbcbe38 +Author: Adrian Johnson +AuthorDate: Sat Apr 16 18:05:41 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Apr 16 18:05:41 2016 +0930 + + svg2png: fix deprecated warning + + rsvg_pixbuf_from_file() is deprecated, replaced by + rsvg_handle_new_from_file() + rsvg_handle_render_cairo(). + + test/svg2png.c | 39 +++++++++++++++++++++++++++++++++------ + 1 file changed, 33 insertions(+), 6 deletions(-) + +commit 11667ec47c69e3aa7b7128ddb39375f3ae4a0814 +Author: Adrian Johnson +AuthorDate: Sat Apr 16 17:42:56 2016 +0930 +Commit: Adrian Johnson +CommitDate: Sat Apr 16 17:42:56 2016 +0930 + + pdf2png: fix deprecated warning + + test/pdf2png.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit d2f1ebf579ba12b816eec9317f98eb845fbfeb4f +Author: Guillaume Ayoub +AuthorDate: Thu Jan 14 02:05:53 2016 +0100 +Commit: Adrian Johnson +CommitDate: Tue Apr 12 06:58:28 2016 +0930 + + Use surface_transform in replay_and_create_regions + + The surface_transform was already used surface_replay_with_clip, as the + matrix is obviously needed for the clip. But now, because of the + optimization done in commit 09b42c7, it's also needed by + replay_and_create_regions: get_target_extents clips the target surface + for performance issues, and therefore needs the surface_transform matrix + to get the right clipping surface. + + Signed-off-by: Guillaume Ayoub + + src/cairo-analysis-surface.c | 6 ++++-- + src/cairo-paginated-surface.c | 2 +- + src/cairo-recording-surface-private.h | 1 + + src/cairo-recording-surface.c | 3 ++- + 4 files changed, 8 insertions(+), 4 deletions(-) + +commit 747cab741cf63f30aa6bc2b787fc13e7e7a2b859 +Author: Adrian Johnson +AuthorDate: Sat Mar 26 22:18:05 2016 +1030 +Commit: Adrian Johnson +CommitDate: Sat Mar 26 22:18:05 2016 +1030 + + Add CAIRO_STATUS_WIN32_GDI_ERROR for GDI errors + + 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 | 3 ++- + src/cairo.h | 2 ++ + src/win32/cairo-win32-surface.c | 6 +----- + util/cairo-gobject/cairo-gobject-enums.c | 1 + + util/cairo-script/cairo-script-private.h | 2 +- + util/cairo-trace/trace.c | 1 + + 12 files changed, 16 insertions(+), 7 deletions(-) + +commit cdd5c92cedb9abcedd6f261594b1ea7d94d4a4ad +Author: Adrian Johnson +AuthorDate: Sat Mar 26 21:45:33 2016 +1030 +Commit: Adrian Johnson +CommitDate: Sat Mar 26 21:45:59 2016 +1030 + + Add CAIRO_STATUS_FREETYPE_ERROR for errors returned by libfreetype + + src/cairo-device.c | 1 + + src/cairo-error-private.h | 1 + + src/cairo-ft-font.c | 5 ++++- + src/cairo-misc.c | 2 ++ + src/cairo-region.c | 1 + + src/cairo-spans.c | 2 ++ + src/cairo-surface.c | 1 + + src/cairo.c | 3 ++- + src/cairo.h | 2 ++ + util/cairo-gobject/cairo-gobject-enums.c | 1 + + util/cairo-script/cairo-script-private.h | 2 ++ + util/cairo-trace/trace.c | 1 + + 12 files changed, 20 insertions(+), 2 deletions(-) + +commit 8f6790123e05c5c38ba09c541093b747aa12b681 +Author: Adrian Johnson +AuthorDate: Sat Mar 26 19:05:01 2016 +1030 +Commit: Adrian Johnson +CommitDate: Sat Mar 26 19:06:03 2016 +1030 + + Adding missing error status to utils + + util/cairo-gobject/cairo-gobject-enums.c | 5 ++++- + util/cairo-script/cairo-script-private.h | 8 ++++++++ + util/cairo-trace/trace.c | 1 + + 3 files changed, 13 insertions(+), 1 deletion(-) + +commit c5ee3f11b5fb5a652466bbe407d2dc8e0ef4eb71 +Author: Adrian Johnson +AuthorDate: Sat Mar 26 07:24:26 2016 +1030 +Commit: Adrian Johnson +CommitDate: Sat Mar 26 19:04:44 2016 +1030 + + Add CAIRO_STATUS_PNG_ERROR for errors returned by libpng + + src/cairo-device.c | 1 + + src/cairo-error-private.h | 1 + + src/cairo-misc.c | 2 ++ + src/cairo-png.c | 10 +++++++--- + src/cairo-region.c | 1 + + src/cairo-spans.c | 2 ++ + src/cairo-surface.c | 1 + + src/cairo.c | 3 ++- + src/cairo.h | 2 ++ + 9 files changed, 19 insertions(+), 4 deletions(-) + +commit 72c9a022ac2f1b9c9afa349e0977dcd89fa56f2d +Author: Adrian Johnson +AuthorDate: Sun Feb 21 09:07:40 2016 +1030 +Commit: Adrian Johnson +CommitDate: Thu Mar 10 19:00:48 2016 +1030 + + scaled-font: don't store pointer in hash value + + src/cairo-scaled-font.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 3538ac3e68f997d95d76865247717c90ae73630d +Author: Wan-Teh Chang +AuthorDate: Tue Mar 1 17:48:55 2016 -0800 +Commit: Uli Schlachter +CommitDate: Sat Mar 5 14:35:17 2016 +0100 + + Fix data race in freed_pool + + This adds _cairo_atomic_int_get_relaxed and _cairo_atomic_int_set_relaxed which + are meant to have a behaviour of relaxed read/writes in C11's memory model. This + patch also uses these new function to fix a data race with freed_pool_t's |top| + data member. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90318 + Signed-off-by: Wan-Teh Chang + Signed-off-by: Uli Schlachter + + src/cairo-atomic-private.h | 36 ++++++++++++++++++++++++++++++++++++ + src/cairo-atomic.c | 14 ++++++++++++++ + src/cairo-freed-pool-private.h | 10 +++++----- + src/cairo-freed-pool.c | 10 +++++----- + 4 files changed, 60 insertions(+), 10 deletions(-) + +commit af42fc724e794aeb3b26eb0e8df453a5abd5c640 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Tue Dec 29 10:16:54 2015 +0100 +Commit: Bryce Harrington +CommitDate: Fri Jan 15 12:29:06 2016 -0800 + + drm: fix importing of libdrm + + We need to link against libdrm to use its functions. + + Signed-off-by: Enrico Weigelt, metux IT consult + Reviewed-by: Bryce Harrington + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 968f8c70aac8cde9bc622644dcab9a6548734d59 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Tue Dec 29 10:16:45 2015 +0100 +Commit: Bryce Harrington +CommitDate: Wed Jan 13 17:14:51 2016 -0800 + + core: some in-code documentation + + Signed-off-by: Enrico Weigelt, metux IT consult + + src/cairo-boxes.c | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +commit 047ba66519b18b7fe0167108307d741cdc816935 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Tue Dec 29 10:16:48 2015 +0100 +Commit: Bryce Harrington +CommitDate: Wed Jan 13 17:09:28 2016 -0800 + + core: dropped unnecessary local variable in _cairo_composite_rectangles_intersect() + + Signed-off-by: Enrico Weigelt, metux IT consult + Reviewed-by: Bryce Harrington + + src/cairo-composite-rectangles.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit b371b0157f8067b93c95cb535922705af5c0cd25 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Tue Dec 29 10:16:40 2015 +0100 +Commit: Bryce Harrington +CommitDate: Wed Jan 13 17:07:53 2016 -0800 + + core: reintroduce bot-scan-converter functions + + These functions have been accidentially removed by commit: + 494cfd7eb9d994a5e2024e299986e66a3ef9a562. + + They're still needed by the DRM backend. + (will be used by subsequent patches) + + Signed-off-by: Enrico Weigelt, metux IT consult + Reviewed-by: Bryce Harrington + Cc: Uli Schlachter + + src/cairo-botor-scan-converter.c | 36 ++++++++++++++++++++++++++++++++++++ + src/cairo-spans-private.h | 4 ++++ + 2 files changed, 40 insertions(+) + +commit adb896e8c5f4e1fb22db32c8bfb5f0a9625c4869 +Author: Enrico Weigelt, metux IT consult +AuthorDate: Fri Dec 18 14:28:45 2015 +0100 +Commit: Bryce Harrington +CommitDate: Tue Dec 22 14:22:36 2015 -0800 + + core: updated .gitignore + + Signed-off-by: Enrico Weigelt, metux IT consult + + .gitignore | 4 ++++ + 1 file changed, 4 insertions(+) + +commit ad6271ccbcfdfbccf53451323d278435ffc5cdce +Author: Bryce Harrington +AuthorDate: Tue Dec 22 13:23:55 2015 -0800 +Commit: Bryce Harrington +CommitDate: Tue Dec 22 13:23:55 2015 -0800 + + RELEASING: Fix documentation of proper ChangeLog path + + The releases page includes more than just cairo, so need to be explicit + in naming our uploaded Changelog file. + + RELEASING | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit db8a7f1697c49ae4942d2aa49eed52dd73dd9c7a +Author: Bryce Harrington +AuthorDate: Fri Dec 11 00:45:02 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Dec 11 00:45:02 2015 -0800 + + 1.15.2 release + + NEWS | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + cairo-version.h | 2 +- + 2 files changed, 94 insertions(+), 3 deletions(-) + +commit 6cd5a188e3db142089020e3c50ef280195655fec +Author: Bryce Harrington +AuthorDate: Thu Dec 10 21:00:29 2015 -0800 +Commit: Bryce Harrington +CommitDate: Thu Dec 10 21:05:25 2015 -0800 + + RELEASING: Clarify snapshot numbering rules + + RELEASING | 27 +++++++++++++++------------ + 1 file changed, 15 insertions(+), 12 deletions(-) + +commit 2dc0149ddea214c925f4a38abc65169242e72432 +Author: Bryce Harrington +AuthorDate: Wed Dec 9 16:25:20 2015 -0800 +Commit: Bryce Harrington +CommitDate: Wed Dec 9 16:25:20 2015 -0800 + + RELEASING: Drop inclusion of boilerplate in news messages + + Looking back at past release announcements, it's been a long time since + we included the About Cairo bits. This info is easily located on the + website and elsewhere, no need for the redundant data in the + announcement too. + + RELEASING | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +commit 4ab379c744b2c0d5256692307770846eccd41dce +Author: Bryce Harrington +AuthorDate: Wed Dec 9 14:45:55 2015 -0800 +Commit: Bryce Harrington +CommitDate: Wed Dec 9 14:45:55 2015 -0800 + + RELEASING: Make X.Y.Z versions less ambiguous + + The document uses X.Y.Z to sometimes mean the previous release version, + and in other places to mean the upcoming next release version. Identify + these more explicitly. + + RELEASING | 71 ++++++++++++++++++++++++++++++++++++++++++++------------------- + 1 file changed, 50 insertions(+), 21 deletions(-) + +commit c7822e6107a207057ac4a6a4c2f2265c31c1a2b9 +Author: Bryce Harrington +AuthorDate: Wed Dec 9 14:44:26 2015 -0800 +Commit: Bryce Harrington +CommitDate: Wed Dec 9 14:44:26 2015 -0800 + + RELEASING: Fix misspelling in last commit + + RELEASING | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 817ae4540af5b004b3b69975388cdcf8cdac577d +Author: Bryce Harrington +AuthorDate: Wed Dec 9 12:32:20 2015 -0800 +Commit: Bryce Harrington +CommitDate: Wed Dec 9 12:32:20 2015 -0800 + + RELEASING: Whitespace cleanup. Fix inconsistent tabbing. + + RELEASING | 64 +++++++++++++++++++++++++++++++++------------------------------ + 1 file changed, 34 insertions(+), 30 deletions(-) + +commit 0986ae4dee2a903dc16bba289477a38dff36a87b +Author: Bryce Harrington +AuthorDate: Wed Dec 9 11:30:34 2015 -0800 +Commit: Bryce Harrington +CommitDate: Wed Dec 9 11:30:34 2015 -0800 + + test: Fix use after frees + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93152 + + test/pdf-mime-data.c | 2 +- + test/png.c | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit ad99e1b9d80a9dc8d185f38347d64e1db762523c +Author: Patrick Fritzsch +AuthorDate: Fri Nov 13 21:16:22 2015 +1030 +Commit: Adrian Johnson +CommitDate: Fri Nov 13 21:27:34 2015 +1030 + + win32: check if GetTextMetrics failed + + http://lists.cairographics.org/archives/cairo/2015-November/026544.html + + src/win32/cairo-win32-font.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 98d01cd119eaa7d50cf0ec6c6cc32ee170397ad5 +Author: Marc-André Lureau +AuthorDate: Fri Nov 6 18:13:05 2015 +0100 +Commit: Uli Schlachter +CommitDate: Fri Nov 6 21:00:48 2015 +0100 + + xlib: fix mixing xcb & xlib calls + + NextRequest is a macro that doesn't mix well with xcb, since + dpy->request is not updated. Instead use XNextRequest() that was fixed + to do the right thing with xcb in libX11 commit: + http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=7f8f9a36ef901f31279c385caf960a22daeb33fe + + This may solve application X errors when a shmdt() is called by cairo + before the Attach request is processed. + + Signed-off-by: Marc-André Lureau + Signed-off-by: Uli Schlachter + + src/cairo-xlib-surface-shm.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit bf41cc397f460978eaf0aa35bc7341cefc9817b5 +Author: Uli Schlachter +AuthorDate: Fri Nov 6 20:50:47 2015 +0100 +Commit: Uli Schlachter +CommitDate: Fri Nov 6 20:50:47 2015 +0100 + + Fix cairo-xlib-xcb compilation + + This is broken since: + + commit b1192beac7c5b56a8ff356d20af5ebfb65404109 + Author: Adrian Johnson + Date: Mon Sep 21 21:35:05 2015 +0930 + + Don't cull very thin lines on vector surfaces + + On vector surfaces, use a minimum line width when calculating extents. + + Bug 77298 + + Signed-off-by: Uli Schlachter + + src/cairo-xlib-xcb-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit fc689d7d351cca1f1b11cef9137fa2c6eec0ee25 +Author: Bryce Harrington +AuthorDate: Thu Oct 29 18:21:34 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Oct 29 18:21:34 2015 -0700 + + RELEASING: Doc handling devel versions for micro vs minor releases + + RELEASING | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit bc4271a1392e5462c875a051c8720d8dd461d4fe +Author: Bryce Harrington +AuthorDate: Thu Oct 29 18:17:39 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Oct 29 18:17:39 2015 -0700 + + Bump version for new development tree, 1.15.1 + + cairo-version.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e03ab054c129307596b9ec090a0e32a64b0cda71 +Author: Bryce Harrington +AuthorDate: Thu Oct 29 11:57:32 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Oct 29 11:57:32 2015 -0700 + + RELEASING: Doc what's required to properly undo a publish + + RELEASING | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 62ceb0abd970dd23dd03d2a279f62a1e2c63aa2d +Author: Bryce Harrington +AuthorDate: Wed Oct 28 22:15:54 2015 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 28 22:23:53 2015 -0700 + + RELEASING: Note how to upload the changelog + + RELEASING | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 247ef2bd63e755963f7930ac06c79b95aed2adb4 +Author: Bryce Harrington +AuthorDate: Tue Oct 27 14:27:20 2015 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 28 22:22:31 2015 -0700 + + NEWS: Update for 1.14.4 release + + NEWS | 58 +++++++++++++++++----------------------------------------- + 1 file changed, 17 insertions(+), 41 deletions(-) + +commit 3fd993a2b16ab75fa8d7afbd1da577c89f020463 +Author: Bryce Harrington +AuthorDate: Tue Oct 27 13:53:55 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Oct 27 13:53:55 2015 -0700 + + WIP news and release + + NEWS | 16 ++++++++++++---- + RELEASING | 13 ++++++++----- + 2 files changed, 20 insertions(+), 9 deletions(-) + +commit d7371acfe5f54bc14c25c725448fb6401c526f6a +Author: Bryce Harrington +AuthorDate: Tue Oct 27 11:53:14 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Oct 27 11:53:14 2015 -0700 + + 1.14.4 release + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 04a40d2ff34a9443bb2f71b57a523878fa9f4d11 +Author: Bryce Harrington +AuthorDate: Tue Oct 27 11:10:23 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Oct 27 11:10:23 2015 -0700 + + NEWS: Update to cover changes to date + + NEWS | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 60 insertions(+) + +commit 481e5986f982238c5603ae3b2feea74aaa964adb +Author: Adrian Johnson +AuthorDate: Sat Oct 17 22:46:23 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 22:46:23 2015 +1030 + + Compile fix + + src/cairo-gl-msaa-compositor.c | 1 + + 1 file changed, 1 insertion(+) + +commit 2d026bd2cf4d8cb1973f56b30a7ba8609e3ebb5f +Author: Adrian Johnson +AuthorDate: Sat Oct 17 22:39:09 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 22:42:37 2015 +1030 + + win32-print: support subsurface recording patterns + + src/win32/cairo-win32-display-surface.c | 6 ++++-- + src/win32/cairo-win32-printing-surface.c | 36 +++++++++++++++++++++++++------- + 2 files changed, 32 insertions(+), 10 deletions(-) + +commit b7d864e8c18e4407e69ff897cae7a42eb09b03c9 +Author: Adrian Johnson +AuthorDate: Sat Oct 17 22:38:50 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 22:38:50 2015 +1030 + + Compile fix + + src/cairo-gl-source.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit aa1323f04cd2c71317e9173fbe26fe7d0ba34908 +Author: Adrian Johnson +AuthorDate: Sat Oct 17 22:02:11 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 22:02:11 2015 +1030 + + Fix some surfaces missed in b1192bea + + src/cairo-cogl-surface.c | 3 ++- + src/cairo-directfb-surface.c | 3 ++- + src/cairo-gl-surface.c | 3 ++- + src/cairo-os2-surface.c | 3 ++- + src/cairo-quartz-image-surface.c | 3 ++- + src/cairo-quartz-surface.c | 3 ++- + src/cairo-tee-surface.c | 3 ++- + src/cairo-vg-surface.c | 3 ++- + src/cairo-xml-surface.c | 3 ++- + src/test-compositor-surface.c | 3 ++- + src/test-null-compositor-surface.c | 3 ++- + src/test-paginated-surface.c | 3 ++- + 12 files changed, 24 insertions(+), 12 deletions(-) + +commit 30eb1b0e9778a96c2eb984f243dec5e3c8859e05 +Author: Adrian Johnson +AuthorDate: Mon Sep 21 21:35:05 2015 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:39:19 2015 +1030 + + Add test case for thin lines + + Bug 77298 + + test/Makefile.sources | 1 + + test/reference/thin-lines.pdf.ref.png | Bin 0 -> 371 bytes + test/reference/thin-lines.ps.argb32.ref.png | Bin 0 -> 332 bytes + test/reference/thin-lines.ps.rgb24.ref.png | Bin 0 -> 264 bytes + test/reference/thin-lines.ref.png | Bin 0 -> 122 bytes + test/thin-lines.c | 95 ++++++++++++++++++++++++++++ + 6 files changed, 96 insertions(+) + +commit b1192beac7c5b56a8ff356d20af5ebfb65404109 +Author: Adrian Johnson +AuthorDate: Mon Sep 21 21:35:05 2015 +0930 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:39:18 2015 +1030 + + Don't cull very thin lines on vector surfaces + + On vector surfaces, use a minimum line width when calculating extents. + + Bug 77298 + + src/cairo-analysis-surface.c | 8 +++++--- + src/cairo-composite-rectangles.c | 2 +- + src/cairo-gstate.c | 1 + + src/cairo-image-source.c | 5 +++-- + src/cairo-image-surface.c | 3 ++- + src/cairo-paginated-surface.c | 3 ++- + src/cairo-path-bounds.c | 23 +++++++++++++++++++++++ + src/cairo-pdf-surface.c | 3 ++- + src/cairo-ps-surface.c | 3 ++- + src/cairo-recording-surface.c | 8 +++++--- + src/cairo-script-surface.c | 6 ++++-- + src/cairo-surface-observer.c | 3 ++- + src/cairo-surface-private.h | 1 + + src/cairo-surface-snapshot.c | 3 ++- + src/cairo-surface-subsurface.c | 6 ++++-- + src/cairo-surface.c | 7 +++++-- + src/cairo-svg-surface.c | 3 ++- + src/cairo-type3-glyph-surface.c | 3 ++- + src/cairo-xcb-surface-core.c | 6 ++++-- + src/cairo-xcb-surface-render.c | 3 ++- + src/cairo-xcb-surface.c | 3 ++- + src/cairo-xlib-source.c | 9 ++++++--- + src/cairo-xlib-surface-shm.c | 3 ++- + src/cairo-xlib-surface.c | 3 ++- + src/cairoint.h | 4 +++- + src/win32/cairo-win32-printing-surface.c | 3 ++- + 26 files changed, 91 insertions(+), 34 deletions(-) + +commit 6656cafebfdac3365e8f903eb408043507a5e551 +Author: Adrian Johnson +AuthorDate: Sat Oct 17 18:33:01 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:33:36 2015 +1030 + + win32-print: support raster_source patterns + + src/win32/cairo-win32-printing-surface.c | 463 ++++++++++++++++++++++++------- + 1 file changed, 355 insertions(+), 108 deletions(-) + +commit 9fcb42f7fe530da40d96dbc56ea7a8423fa3505a +Author: Adrian Johnson +AuthorDate: Sat Oct 17 18:32:59 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:32:59 2015 +1030 + + win32-print: fix warnings + + src/win32/cairo-win32-printing-surface.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 2c45fdfc15a81eae6196f92c9768f3d895bd0819 +Author: Adrian Johnson +AuthorDate: Sat Oct 17 18:32:57 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:32:57 2015 +1030 + + win32-print: Fix the page extents + + As the page size can be changed between pages, set the extents in + _start_page. The extents are invalidated in _show_page since the + page size on the DC may be changed after this call. The only thing that + uses the extents between _show_page and _start_page (and before the first + _start_page) is the creation of the recording surface in the paginated + surface. In this case, when the paginated surface can't get the extents, + it will create an unbounded recording surface. + + The extents x,y is always set to 0 to prevent the replay from translating + the page. + + src/win32/cairo-win32-printing-surface.c | 48 ++++++++++++++++++++++++++------ + src/win32/cairo-win32-private.h | 1 + + 2 files changed, 41 insertions(+), 8 deletions(-) + +commit 094f0e0fa0153f290061635eed51e8d1dbe2cf4a +Author: Adrian Johnson +AuthorDate: Sat Oct 17 16:50:50 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:16:33 2015 +1030 + + pdf: fix subsurface recordings + + src/cairo-pdf-surface.c | 33 +++++++++++++++++++++------------ + 1 file changed, 21 insertions(+), 12 deletions(-) + +commit 2215b4e0c0f90a90f659aa0cfc28fc02dfce3339 +Author: Adrian Johnson +AuthorDate: Sat Oct 17 16:25:16 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:16:32 2015 +1030 + + ps: fix subsurface recordings + + src/cairo-ps-surface.c | 35 +++++++++++++++++------------------ + src/cairo-surface-wrapper.c | 6 +++--- + 2 files changed, 20 insertions(+), 21 deletions(-) + +commit 6952e03262717751716f48114e6a921b62a0ecee +Author: Adrian Johnson +AuthorDate: Sat Oct 17 13:15:56 2015 +1030 +Commit: Adrian Johnson +CommitDate: Sat Oct 17 18:16:22 2015 +1030 + + ps: fix raster source patterns + + src/cairo-ps-surface.c | 1 + + test/reference/raster-source.ps.ref.png | Bin 1894 -> 1908 bytes + 2 files changed, 1 insertion(+) + +commit e294ca19f2777fa2abbd59eb7aa375f801c92eb6 +Author: Bryce Harrington +AuthorDate: Wed Oct 14 18:13:22 2015 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 14 18:13:42 2015 -0700 + + NEWS: Whitespace cleanup + + NEWS | 63 ++++++++++++++++++++++++++++++++------------------------------- + 1 file changed, 32 insertions(+), 31 deletions(-) + +commit 7cc77d1ceea850d5728f4fad59ec18984dbc9ccb +Author: Bryce Harrington +AuthorDate: Wed Oct 14 18:10:22 2015 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 14 18:13:42 2015 -0700 + + build: Use memory barriers for ARM + + ARM has much weaker memory ordering guarantees than x86 by default, and + needs the memory barriers. A similar fix exists in the Skia codebase. + Fix suggested by Nathan Froyd. + + Fixes: FDO #90302 + + Signed-off-by: Bryce Harrington + Acked-by: "Henry (Yu) Song" + + build/aclocal.cairo.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 25a55822b4e22728834c96c8e73176d42bb406e3 +Author: Uli Schlachter +AuthorDate: Wed Oct 14 14:24:16 2015 +0200 +Commit: Uli Schlachter +CommitDate: Wed Oct 14 14:26:47 2015 +0200 + + xcb: Fix _put_image_boxes() if no SHM is available + + This function tries to use _cairo_xcb_connection_put_image() to do the actual + work. However, that function can only be used for images with "native" stride. + If we only want to upload a rectangle from within an image, the function + _cairo_xcb_connection_put_subimage() has to be used. This function makes sure + that the correct information is sent to the X11 server. + + No unit test for this, because we currently do not test the !SHM case + automatically. Perhaps we should? + + Signed-off-by: Uli Schlachter + + src/cairo-xcb-surface.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit d31dc73f9ba1facdbeee722c022d438f15e5f264 +Author: Uli Schlachter +AuthorDate: Wed Oct 14 14:22:50 2015 +0200 +Commit: Uli Schlachter +CommitDate: Wed Oct 14 14:26:32 2015 +0200 + + xcb: Fix _put_shm_image_boxes if no SHM available + + This function always returned CAIRO_INT_STATUS_SUCCESS, even if it didn't do + anything. This commit makes the function return CAIRO_INT_STATUS_UNSUPPORTED + instead. + + No unit test for this, because we currently do not test the !SHM case + automatically. Perhaps we should? + + Signed-off-by: Uli Schlachter + + src/cairo-xcb-surface.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 0537479bd1d4c5a3bc0f6f41dec4deb98481f34a +Author: Adrian Johnson +AuthorDate: Mon Oct 5 16:10:02 2015 +1030 +Commit: Adrian Johnson +CommitDate: Mon Oct 5 16:10:02 2015 +1030 + + ps: merge emit_recording surface and emit_recording_subsurface into one function + + Most of each function was identical. + + src/cairo-ps-surface.c | 130 ++++++++++++------------------------------------- + 1 file changed, 31 insertions(+), 99 deletions(-) + +commit e5d4f520aaa0107f82ad7683e4f9763d6edcc23b +Author: Rodrigo Rivas Costa +AuthorDate: Wed Sep 30 23:53:23 2015 +0930 +Commit: Adrian Johnson +CommitDate: Wed Sep 30 23:53:23 2015 +0930 + + win32-print: fix transparent images have black background + + Bug 91835 + + src/win32/cairo-win32-printing-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 495362279b42620071c6b46f69918ce324aee0db +Author: Adrian Johnson +AuthorDate: Sun Sep 27 08:27:53 2015 +0930 +Commit: Adrian Johnson +CommitDate: Sun Sep 27 09:34:37 2015 +0930 + + scaled-font-subsets: if glyph 0 used for rendering, remap to different index + + Some broken pdfs use glyph 0 in embedded fonts for rendering instead of .notdef. + The cmap we use for embedding latin fonts does not allow rendering glyph 0. Ensure + if glyph 0 is used, it is mapped to a non 0 glyph in the subset. + + Bug 89082 + + src/cairo-scaled-font-subsets-private.h | 5 ++ + src/cairo-scaled-font-subsets.c | 115 +++++++++++++++++++++++++++----- + 2 files changed, 103 insertions(+), 17 deletions(-) + +commit 6f7a9b4f0375cdadf08486e4b877ee2afc176b39 +Author: Bryce Harrington +AuthorDate: Fri Aug 28 13:23:45 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Sep 10 11:18:08 2015 -0700 + + Ensure null-terminated result from strncpy() + + src/cairo-scaled-font-subsets.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit b353d1f1b167615f8ba718b3843926860e94be77 +Author: Adrian Johnson +AuthorDate: Mon Sep 7 22:20:08 2015 +0930 +Commit: Adrian Johnson +CommitDate: Mon Sep 7 22:20:08 2015 +0930 + + cff: opentype fonts always use gid to lookup glyph + + Bug 91902 + + src/cairo-cff-subset.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +commit f6c46d9473e40d4a3363c96e1fc7fffc81ed12e7 +Author: Sahil Vij +AuthorDate: Fri Aug 7 18:01:18 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Aug 7 18:02:07 2015 -0700 + + gl: Fix bug in _cairo_gl_pattern_texture_setup() + + The memory allocated to "image" at line 298 is not freed before moving to label fail at line 305 and 314. + This patch takes care of this memory leak in above mentioned cases. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91537 + Signed-off-by: Sahil Vij + Reviewed-by: Bryce Harrington + + src/cairo-gl-operand.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit e40806ecdf81e46aa805a9298b603233656cc931 +Author: Bryce Harrington +AuthorDate: Fri Jul 31 19:00:48 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 31 19:00:48 2015 -0700 + + test: Add script to display the difference between two result sets + + test/compare-results | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) + +commit 60c2f69535d3879a10046a8108486a7dc47de6fc +Author: Bryce Harrington +AuthorDate: Fri Jul 31 18:59:34 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 31 18:59:34 2015 -0700 + + test: Add script to summarize the test results from a run + + test/summarize-test-results.sh | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +commit e0963f6c8ec1be9f68b851ee998d0cef3e647028 +Author: Bryce Harrington +AuthorDate: Fri Jul 31 17:55:54 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 31 17:56:54 2015 -0700 + + gitignore: Ignore .trs (test results) + + boilerplate/.gitignore | 1 + + doc/public/.gitignore | 1 + + src/.gitignore | 1 + + test/.gitignore | 1 + + 4 files changed, 4 insertions(+) + +commit 79467f0982cac793b2b724850628fc90a8bb6072 +Author: Bryce Harrington +AuthorDate: Fri Jul 31 17:52:30 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 31 17:56:54 2015 -0700 + + NEWS: Begin filling out news entry for upcoming 1.14.4. + + This covers commits up to noon on Jun 18, 2015. + + NEWS | 44 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 44 insertions(+) + +commit 1fca50ea737307cd5e6ed153dafb8573752cc6e5 +Author: Bryce Harrington +AuthorDate: Fri Jul 31 14:19:01 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 31 17:56:54 2015 -0700 + + NEWS: Fix date on release + + NEWS | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2de9fca5f379b57b25d4963d51ab5f082a326b98 +Author: Bryce Harrington +AuthorDate: Thu Jul 30 17:16:53 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jul 30 17:16:53 2015 -0700 + + boilerplate: Fix list termination for glXChooseVisual + + The attribute list is terminated by GLX_NONE (defined as 0x8000), but + the man page of 'glXChooseVisual' says it must be terminated with None + (0L). + + Issue found and fix suggested by Massimo. + + Signed-off-by: Bryce Harrington + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91293 + + boilerplate/cairo-boilerplate-glx.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c04bd4308382db00347016e666f38fcfe8ee1f08 +Author: Bryce Harrington +AuthorDate: Thu Jul 30 16:45:15 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jul 30 16:45:15 2015 -0700 + + test: Free the memory, not the pointer to the memory + + In read_file(), we see: + + *data = malloc (*len); + ... + if (fread(*data, *len, 1, fp) != 1) { + free(data); + ... + + The free call needs to be free(*data), to match the malloc call. + + Matthias Clasen found this via Coverity and proposed the fix. + + Signed-off-by: Bryce Harrington + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91381 + + test/pdf-mime-data.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0dd5d84baef70dad68ab67ba172edeaa1b98a995 +Author: Bryce Harrington +AuthorDate: Tue Jul 28 17:10:33 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Jul 28 17:10:33 2015 -0700 + + svg2png: Only call deprecated g_type_init() for old glib versions. + + Quells the following warning: + + pdf2png.c:52:5: warning: ‘g_type_init’ is deprecated (declared at + /usr/include/glib-2.0/gobject/gtype.h:667) [-Wdeprecated-declarations] + g_type_init (); + ^ + svg2png.c:47:5: warning: ‘g_type_init’ is deprecated (declared at + /usr/include/glib-2.0/gobject/gtype.h:667) [-Wdeprecated-declarations] + g_type_init (); + ^ + + Patch authored by arpitj01@gmail.com + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=81197 + Signed-off-by: Bryce Harrington + + test/svg2png.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 576bb3ffee2318cd50ecfd4717c8e6421d61d885 +Author: Bryce Harrington +AuthorDate: Mon Jul 27 18:00:55 2015 -0700 +Commit: Bryce Harrington +CommitDate: Mon Jul 27 18:20:07 2015 -0700 + + If more than one trap is passed in then it's guaranteed that the + returned traps will have their left edge to the left of their right + edge, but if only one trap is passed in then the function always returns + without doing anything. This results in incorrect rendering of SVG + paths with more than one subpath. + + Currently calls to _cairo_bentley_ottmann_tessellate_rectangular_traps + are guarded by traps.has_intersections checks, so this is only a + theoretical bug. But we'll eliminate the potential of the bug by + making the left side to be left of the right side, similar to what was + done in _cairo_bentley_ottmann_tessellate_boxes (commit 11b6c49c). + + Patch authored by Tom Klein for Mozilla. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90984 + Ref: https://bugzilla.mozilla.org/show_bug.cgi?id=853889 + Signed-off-by: Bryce Harrington + + src/cairo-bentley-ottmann-rectangular.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit c7cf0dfd602355e0c4fd1126e63844c304c1ef45 +Author: Bryce Harrington +AuthorDate: Mon Jul 27 14:15:11 2015 -0700 +Commit: Bryce Harrington +CommitDate: Mon Jul 27 14:15:11 2015 -0700 + + Revert "cairo-gl: Fix compiler warning if CAIRO_HAS_*_FUNCTIONS is not defined." + + This reverts commit c8b6c6066a238cf4cb04679e1149e956b1556a0c. + + An undefined macro is evaluated as 0. + The preference is to use #if MACRO_NAME rather than #ifdef. + + Conflicts: + src/cairo-gl.h + + src/cairo-gl.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 66bc7b8cb0e753006fa838a8badcf5cb7528d6f7 +Author: Andrea Canciani +AuthorDate: Thu Apr 9 00:17:24 2015 +0200 +Commit: Andrea Canciani +CommitDate: Mon Jul 27 12:46:00 2015 +0200 + + quartz: be more strict about the behavior of blend operators + + Some blend operators have a (small, but potentially noticeable) + different behaviour in Quartz and pixman. Use the Quartz ones only for + the operators which match pixman except for rounding errors. + + Fixes: + - extended-blend + - extended-blend-alpha + - extended-blend-mask + - extended-blend-alpha-mask + - extended-blend-solid + - extended-blend-solid-alpha + + src/cairo-quartz-surface.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 6210e347712127260dd72b0f03a8604c8d22fdca +Author: Andrea Canciani +AuthorDate: Wed Apr 8 17:10:32 2015 +0200 +Commit: Andrea Canciani +CommitDate: Mon Jul 27 12:46:00 2015 +0200 + + quartz: Align filtering quality with image backend + + The Quartz framework provides several quality settings, but they were + not used. Now the translation of cairo_filter_t to Quartz filtering + modes tries to match the quality settings from image as much as + possible. + + Specifically, CAIRO_FILTER_GOOD and CAIRO_FILTER_BILINEAR are now + converted to kCGInterpolationLow, which seems to be a bilinear filter. + + Fixes: + - pixman-downscale-bilinear-24 + - pixman-downscale-bilinear-95 + - pixman-downscale-good-24 + - pixman-downscale-good-95 + - pthread-same-source + - recording-surface-extend-none + - recording-surface-extend-reflect + - recording-surface-extend-repeat + - recording-surface-over + - recording-surface-source + - surface-pattern-big-scale-down + - surface-pattern-scale-down + - surface-pattern-scale-down-extend-none + - surface-pattern-scale-down-extend-reflect + - surface-pattern-scale-down-extend-repeat + + src/cairo-quartz-surface.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 68e12cd37f3f48d7100a4f6e20f13de18f9f7939 +Author: Andrea Canciani +AuthorDate: Thu Apr 16 11:58:41 2015 +0200 +Commit: Andrea Canciani +CommitDate: Mon Jul 27 12:45:59 2015 +0200 + + test: Update quartz reference images + + test/reference/a1-clip-fill-rule.quartz.ref.png | Bin 0 -> 238 bytes + test/reference/a1-line-width.quartz.ref.png | Bin 0 -> 157 bytes + test/reference/a1-rectilinear-grid.quartz.ref.png | Bin 0 -> 211 bytes + test/reference/a1-sample.quartz.xfail.png | Bin 0 -> 776 bytes + test/reference/a1-tiger.quartz.xfail.png | Bin 0 -> 19767 bytes + test/reference/arc-direction.quartz.ref.png | Bin 0 -> 5474 bytes + test/reference/arc-looping-dash.quartz.ref.png | Bin 470 -> 0 bytes + test/reference/arc-looping-dash.quartz.xfail.png | Bin 0 -> 481 bytes + .../big-little-triangle.quartz.rgb24.ref.png | Bin 0 -> 307 bytes + test/reference/bug-51910.quartz.ref.png | Bin 0 -> 1877 bytes + test/reference/bug-extents.quartz.ref.png | Bin 9310 -> 9284 bytes + test/reference/bug-seams.quartz.xfail.png | Bin 0 -> 2052 bytes + test/reference/bug-spline.quartz.ref.png | Bin 0 -> 5420 bytes + test/reference/caps-05.quartz.ref.png | Bin 0 -> 1066 bytes + test/reference/caps-1.quartz.ref.png | Bin 0 -> 1091 bytes + test/reference/caps-joins-05.quartz.ref.png | Bin 0 -> 1487 bytes + test/reference/caps-joins-1.quartz.ref.png | Bin 0 -> 1469 bytes + test/reference/caps-joins-alpha.quartz.ref.png | Bin 2466 -> 2268 bytes + test/reference/caps-joins-curve.quartz.ref.png | Bin 5199 -> 0 bytes + test/reference/caps-tails-curve.quartz.ref.png | Bin 0 -> 50207 bytes + test/reference/clear.quartz.argb32.ref.png | Bin 691 -> 664 bytes + test/reference/clear.quartz.rgb24.ref.png | Bin 606 -> 586 bytes + .../reference/clip-complex-bug61592.quartz.ref.png | Bin 0 -> 110 bytes + .../clip-disjoint-hatching.quartz.ref.png | Bin 0 -> 8621 bytes + test/reference/clip-disjoint.quartz.ref.png | Bin 5476 -> 5482 bytes + test/reference/clip-fill.quartz.ref.png | Bin 875 -> 878 bytes + .../clip-group-shapes-circles.quartz.ref.png | Bin 1518 -> 1506 bytes + test/reference/clip-intersect.quartz.ref.png | Bin 0 -> 189 bytes + test/reference/clip-nesting.quartz.argb32.ref.png | Bin 1048 -> 1077 bytes + test/reference/clip-nesting.quartz.rgb24.ref.png | Bin 937 -> 954 bytes + test/reference/clip-operator.quartz.argb32.ref.png | Bin 9672 -> 9543 bytes + test/reference/clip-operator.quartz.rgb24.ref.png | Bin 4343 -> 4336 bytes + test/reference/clip-polygons.quartz.xfail.png | Bin 0 -> 1296 bytes + .../clip-rotate-image-surface-paint.quartz.ref.png | Bin 0 -> 198 bytes + test/reference/clip-shape.quartz.ref.png | Bin 3229 -> 3208 bytes + .../clip-stroke-unbounded.quartz.argb32.ref.png | Bin 3290 -> 3272 bytes + test/reference/clip-text.quartz.ref.png | Bin 854 -> 807 bytes + .../close-path-current-point.quartz.ref.png | Bin 0 -> 1781 bytes + test/reference/culled-glyphs.quartz.ref.png | Bin 493 -> 482 bytes + test/reference/dash-caps-joins.quartz.xfail.png | Bin 4446 -> 4400 bytes + test/reference/dash-curve.quartz.xfail.png | Bin 42238 -> 42019 bytes + test/reference/dash-scale.quartz.ref.png | Bin 7614 -> 0 bytes + test/reference/dash-scale.quartz.xfail.png | Bin 0 -> 7456 bytes + test/reference/dash-state.quartz.xfail.png | Bin 6957 -> 6981 bytes + .../dash-zero-length.quartz.argb32.xfail.png | Bin 0 -> 232 bytes + .../dash-zero-length.quartz.rgb24.xfail.png | Bin 0 -> 207 bytes + .../degenerate-path.quartz.argb32.xfail.png | Bin 200 -> 219 bytes + .../degenerate-path.quartz.rgb24.xfail.png | Bin 172 -> 190 bytes + .../degenerate-solid-dash.quartz.xfail.png | Bin 0 -> 397 bytes + test/reference/drunkard-tails.quartz.ref.png | Bin 0 -> 6188 bytes + ...extended-blend-alpha-mask.quartz.argb32.ref.png | Bin 0 -> 9865 bytes + .../extended-blend-alpha-mask.quartz.rgb24.ref.png | Bin 0 -> 4924 bytes + .../extended-blend-alpha.quartz.argb32.ref.png | Bin 9729 -> 9726 bytes + .../extended-blend-alpha.quartz.rgb24.ref.png | Bin 5598 -> 5865 bytes + .../extended-blend-mask.quartz.argb32.ref.png | Bin 0 -> 4105 bytes + .../extended-blend-mask.quartz.rgb24.ref.png | Bin 0 -> 3834 bytes + ...xtended-blend-solid-alpha.quartz.argb32.ref.png | Bin 0 -> 9726 bytes + ...extended-blend-solid-alpha.quartz.rgb24.ref.png | Bin 0 -> 5865 bytes + .../extended-blend-solid.quartz.argb32.ref.png | Bin 0 -> 4247 bytes + .../extended-blend-solid.quartz.rgb24.ref.png | Bin 0 -> 3938 bytes + .../reference/extended-blend.quartz.argb32.ref.png | Bin 4284 -> 4247 bytes + test/reference/extended-blend.quartz.rgb24.ref.png | Bin 3965 -> 3938 bytes + test/reference/fallback.quartz.argb32.ref.png | Bin 0 -> 4134 bytes + test/reference/fallback.quartz.rgb24.ref.png | Bin 0 -> 3299 bytes + test/reference/fill-alpha-pattern.quartz.ref.png | Bin 7943 -> 7906 bytes + test/reference/fill-alpha.quartz.ref.png | Bin 2704 -> 2731 bytes + .../fill-and-stroke-alpha-add.quartz.ref.png | Bin 542 -> 0 bytes + ...gb32.ref.png => fill-and-stroke.quartz.ref.png} | Bin + .../reference/fill-and-stroke.quartz.rgb24.ref.png | Bin 249 -> 0 bytes + test/reference/fill-image.quartz.ref.png | Bin 1297 -> 1417 bytes + .../filter-nearest-transformed.quartz.xfail.png | Bin 349 -> 490 bytes + .../finer-grained-fallbacks.quartz.argb32.ref.png | Bin 988 -> 992 bytes + .../finer-grained-fallbacks.quartz.rgb24.ref.png | Bin 763 -> 769 bytes + .../font-matrix-translation.quartz.ref.png | Bin 996 -> 979 bytes + .../ft-text-vertical-layout-type1.quartz.ref.png | Bin 0 -> 3099 bytes + .../ft-text-vertical-layout-type1.quartz.xfail.png | Bin 3635 -> 0 bytes + .../ft-text-vertical-layout-type3.quartz.ref.png | Bin 3573 -> 3570 bytes + .../gradient-constant-alpha.quartz.argb32.ref.png | Bin 214 -> 0 bytes + .../gradient-constant-alpha.quartz.ref.png | Bin 0 -> 210 bytes + test/reference/group-unaligned.quartz.ref.png | Bin 363 -> 362 bytes + test/reference/halo-transform.quartz.ref.png | Bin 14360 -> 15164 bytes + test/reference/halo.quartz.ref.png | Bin 8601 -> 8995 bytes + test/reference/hatchings.quartz.ref.png | Bin 0 -> 95827 bytes + test/reference/huge-linear.quartz.ref.png | Bin 15230 -> 0 bytes + test/reference/huge-radial.quartz.ref.png | Bin 84690 -> 83620 bytes + test/reference/inverse-text.quartz.ref.png | Bin 0 -> 2565 bytes + test/reference/inverted-clip.quartz.rgb24.ref.png | Bin 0 -> 1137 bytes + test/reference/joins-loop.quartz.ref.png | Bin 0 -> 4080 bytes + test/reference/joins-retrace.quartz.ref.png | Bin 0 -> 4750 bytes + test/reference/joins.quartz.ref.png | Bin 5833 -> 0 bytes + ....quartz.ref.png => leaky-dash.quartz.xfail.png} | Bin + ...ine-width-large-overlap-dashed.quartz.xfail.png | Bin 0 -> 334 bytes + ...line-width-large-overlap-rotated.quartz.ref.png | Bin 0 -> 385 bytes + .../line-width-overlap-dashed.quartz.xfail.png | Bin 0 -> 410 bytes + .../linear-gradient-subset.quartz.ref.png | Bin 852 -> 833 bytes + test/reference/linear-gradient.quartz.ref.png | Bin 951 -> 933 bytes + test/reference/long-dashed-lines.quartz.ref.png | Bin 2068 -> 0 bytes + test/reference/mask-alpha.quartz.argb32.ref.png | Bin 622 -> 621 bytes + test/reference/mask-alpha.quartz.rgb24.ref.png | Bin 0 -> 587 bytes + test/reference/mask.quartz.argb32.ref.png | Bin 10669 -> 10599 bytes + test/reference/mask.quartz.rgb24.ref.png | Bin 8354 -> 0 bytes + ....ref.png => new-sub-path.quartz.argb32.ref.png} | Bin + test/reference/new-sub-path.quartz.rgb24.ref.png | Bin 0 -> 340 bytes + .../reference/operator-clear.quartz.argb32.ref.png | Bin 1228 -> 1556 bytes + test/reference/operator-clear.quartz.rgb24.ref.png | Bin 1096 -> 1365 bytes + .../operator-source.quartz.argb32.ref.png | Bin 0 -> 6071 bytes + .../reference/operator-source.quartz.rgb24.ref.png | Bin 0 -> 4549 bytes + .../over-above-source.quartz.argb32.ref.png | Bin 511 -> 508 bytes + .../over-above-source.quartz.rgb24.ref.png | Bin 437 -> 431 bytes + .../over-around-source.quartz.argb32.ref.png | Bin 593 -> 594 bytes + .../over-around-source.quartz.rgb24.ref.png | Bin 0 -> 474 bytes + .../over-below-source.quartz.rgb24.ref.png | Bin 0 -> 368 bytes + .../over-between-source.quartz.argb32.ref.png | Bin 551 -> 548 bytes + .../over-between-source.quartz.rgb24.ref.png | Bin 0 -> 456 bytes + .../reference/overlapping-dash-caps.quartz.ref.png | Bin 0 -> 3921 bytes + .../overlapping-glyphs.quartz.argb32.ref.png | Bin 2824 -> 2766 bytes + .../overlapping-glyphs.quartz.rgb24.ref.png | Bin 1711 -> 1667 bytes + .../paint-with-alpha-clip-mask.quartz.ref.png | Bin 0 -> 325 bytes + .../partial-clip-text-bottom.quartz.ref.png | Bin 0 -> 263 bytes + .../partial-clip-text-left.quartz.ref.png | Bin 0 -> 288 bytes + .../partial-clip-text-right.quartz.ref.png | Bin 0 -> 139 bytes + .../reference/partial-clip-text-top.quartz.ref.png | Bin 174 -> 172 bytes + .../pixman-downscale-best-24.quartz.ref.png | Bin 0 -> 432 bytes + .../pixman-downscale-best-95.quartz.ref.png | Bin 0 -> 656 bytes + .../pixman-downscale-bilinear-95.quartz.ref.png | Bin 0 -> 471 bytes + .../pixman-downscale-fast-95.quartz.ref.png | Bin 0 -> 300 bytes + .../pixman-downscale-good-95.quartz.ref.png | Bin 0 -> 471 bytes + .../pixman-downscale-nearest-95.quartz.ref.png | Bin 0 -> 300 bytes + test/reference/pixman-rotate.quartz.rgb24.ref.png | Bin 0 -> 225 bytes + test/reference/pthread-same-source.quartz.ref.png | Bin 0 -> 976 bytes + .../reference/pthread-same-source.quartz.xfail.png | Bin 961 -> 0 bytes + test/reference/pthread-show-text.quartz.ref.png | Bin 43005 -> 46034 bytes + test/reference/push-group-color.quartz.ref.png | Bin 3127 -> 3102 bytes + test/reference/push-group.quartz.argb32.ref.png | Bin 3932 -> 3833 bytes + test/reference/push-group.quartz.rgb24.ref.png | Bin 3659 -> 3593 bytes + ...dial-gradient-mask-source.quartz.argb32.ref.png | Bin 171002 -> 168929 bytes + ...adial-gradient-mask-source.quartz.rgb24.ref.png | Bin 179120 -> 177421 bytes + .../radial-gradient-mask-source.rgb24.ref.png | Bin 0 -> 150945 bytes + test/reference/radial-gradient-mask.quartz.ref.png | Bin 296910 -> 295032 bytes + .../radial-gradient-one-stop.quartz.ref.png | Bin 6316 -> 6447 bytes + .../radial-gradient-source.quartz.argb32.ref.png | Bin 439222 -> 442335 bytes + .../radial-gradient-source.quartz.rgb24.ref.png | Bin 279249 -> 276660 bytes + test/reference/radial-gradient.quartz.ref.png | Bin 389140 -> 389582 bytes + test/reference/random-clip.quartz.ref.png | Bin 0 -> 519854 bytes + test/reference/record-mesh.ref.png | Bin 15229 -> 15400 bytes + .../record-select-font-face.quartz.ref.png | Bin 0 -> 2186 bytes + .../record1414x-fill-alpha.quartz.ref.png | Bin 0 -> 4099 bytes + ...ecord1414x-paint-alpha-clip-mask.quartz.ref.png | Bin 0 -> 522 bytes + .../record1414x-select-font-face.quartz.ref.png | Bin 0 -> 3233 bytes + .../record1414x-text-transform.quartz.ref.png | Bin 0 -> 8701 bytes + test/reference/record2x-fill-alpha.quartz.ref.png | Bin 0 -> 5782 bytes + .../record2x-select-font-face.quartz.ref.png | Bin 0 -> 4506 bytes + .../record90-paint-alpha-clip.quartz.ref.png | Bin 0 -> 335 bytes + .../record90-select-font-face.quartz.ref.png | Bin 0 -> 2213 bytes + .../record90-self-intersecting.quartz.xfail.png | Bin 0 -> 214 bytes + .../reference/recordflip-fill-alpha.quartz.ref.png | Bin 0 -> 2799 bytes + ...recordflip-paint-alpha-clip-mask.quartz.ref.png | Bin 0 -> 351 bytes + .../recordflip-select-font-face.quartz.ref.png | Bin 0 -> 2291 bytes + .../recordflip-whole-fill-alpha.quartz.ref.png | Bin 0 -> 2799 bytes + ...flip-whole-paint-alpha-clip-mask.quartz.ref.png | Bin 0 -> 351 bytes + ...ecordflip-whole-select-font-face.quartz.ref.png | Bin 0 -> 2291 bytes + ...rding-surface-extend-none.quartz.argb32.ref.png | Bin 0 -> 2758 bytes + ...ording-surface-extend-none.quartz.rgb24.ref.png | Bin 0 -> 2684 bytes + ... recording-surface-extend-pad.argb32.xfail.png} | Bin + ...> recording-surface-extend-pad.rgb24.xfail.png} | Bin + ...ng-surface-extend-reflect.quartz.argb32.ref.png | Bin 0 -> 16317 bytes + ...ing-surface-extend-reflect.quartz.rgb24.ref.png | Bin 0 -> 16062 bytes + ...ing-surface-extend-repeat.quartz.argb32.ref.png | Bin 0 -> 18584 bytes + ...ding-surface-extend-repeat.quartz.rgb24.ref.png | Bin 0 -> 17244 bytes + .../recording-surface-over.quartz.argb32.ref.png | Bin 4570 -> 2758 bytes + .../recording-surface-over.quartz.rgb24.ref.png | Bin 4058 -> 2684 bytes + .../recording-surface-source.quartz.argb32.ref.png | Bin 0 -> 2760 bytes + .../recording-surface-source.quartz.rgb24.ref.png | Bin 0 -> 2695 bytes + ...ctilinear-dash-scale-unaligned.quartz.xfail.png | Bin 0 -> 3747 bytes + .../rectilinear-dash-scale.quartz.xfail.png | Bin 0 -> 687 bytes + test/reference/rectilinear-dash.quartz.xfail.png | Bin 494 -> 356 bytes + test/reference/reflected-stroke.quartz.ref.png | Bin 0 -> 4773 bytes + .../rotate-clip-image-surface-paint.quartz.ref.png | Bin 0 -> 275 bytes + .../rotate-image-surface-paint.quartz.ref.png | Bin 223 -> 223 bytes + test/reference/rotated-clip.quartz.ref.png | Bin 3923 -> 3908 bytes + .../rounded-rectangle-fill.quartz.ref.png | Bin 684 -> 0 bytes + .../rounded-rectangle-stroke.quartz.ref.png | Bin 0 -> 682 bytes + test/reference/shape-sierpinski.quartz.ref.png | Bin 0 -> 83460 bytes + test/reference/show-glyphs-advance.quartz.ref.png | Bin 1464 -> 1438 bytes + test/reference/smask-fill.quartz.ref.png | Bin 2076 -> 2029 bytes + test/reference/smask-stroke.quartz.ref.png | Bin 1697 -> 1695 bytes + test/reference/smask-text.quartz.ref.png | Bin 1904 -> 1909 bytes + test/reference/smask.quartz.ref.png | Bin 4031 -> 4030 bytes + .../spline-decomposition.quartz.xfail.png | Bin 19560 -> 19486 bytes + test/reference/stroke-clipped.quartz.ref.png | Bin 0 -> 5652 bytes + test/reference/stroke-ctm-caps.quartz.ref.png | Bin 899 -> 0 bytes + test/reference/stroke-image.quartz.ref.png | Bin 1350 -> 1418 bytes + test/reference/stroke-pattern.quartz.ref.png | Bin 0 -> 1683 bytes + ...bsurface-outside-target.quartz.argb32.xfail.png | Bin 0 -> 2176 bytes + ...ubsurface-outside-target.quartz.rgb24.xfail.png | Bin 0 -> 1717 bytes + test/reference/subsurface-scale.quartz.ref.png | Bin 0 -> 5703 bytes + .../surface-pattern-big-scale-down.quartz.ref.png | Bin 258 -> 0 bytes + .../surface-pattern-operator.quartz.argb32.ref.png | Bin 5721 -> 5738 bytes + .../surface-pattern-operator.quartz.rgb24.ref.png | Bin 2429 -> 2437 bytes + ...e-pattern-scale-down-extend-none.quartz.ref.png | Bin 391 -> 0 bytes + ...-pattern-scale-down-extend-pad.quartz.xfail.png | Bin 397 -> 330 bytes + ...attern-scale-down-extend-reflect.quartz.ref.png | Bin 475 -> 0 bytes + ...pattern-scale-down-extend-repeat.quartz.ref.png | Bin 397 -> 0 bytes + .../surface-pattern-scale-down.quartz.ref.png | Bin 2276 -> 1731 bytes + ...png => surface-pattern-scale-up.quartz.ref.png} | Bin + test/reference/text-antialias-gray.quartz.ref.png | Bin 956 -> 911 bytes + .../text-antialias-subpixel-bgr.quartz.xfail.png | Bin 0 -> 896 bytes + .../text-antialias-subpixel-rgb.quartz.ref.png | Bin 0 -> 896 bytes + .../text-antialias-subpixel-vbgr.quartz.xfail.png | Bin 0 -> 896 bytes + .../text-antialias-subpixel-vrgb.quartz.xfail.png | Bin 0 -> 896 bytes + .../text-antialias-subpixel.quartz.ref.png | Bin 949 -> 896 bytes + test/reference/text-glyph-range.quartz.ref.png | Bin 2191 -> 0 bytes + test/reference/text-glyph-range.quartz.xfail.png | Bin 0 -> 2051 bytes + test/reference/text-pattern.quartz.argb32.ref.png | Bin 2148 -> 4372 bytes + test/reference/text-pattern.quartz.rgb24.ref.png | Bin 1867 -> 3483 bytes + test/reference/text-rotate.quartz.ref.png | Bin 16655 -> 16616 bytes + test/reference/tiger.quartz.ref.png | Bin 0 -> 93656 bytes + .../reference/tighten-bounds.quartz.argb32.ref.png | Bin 0 -> 7679 bytes + test/reference/tighten-bounds.quartz.rgb24.ref.png | Bin 0 -> 7324 bytes + test/reference/trap-clip.quartz.argb32.ref.png | Bin 6115 -> 6108 bytes + test/reference/trap-clip.quartz.rgb24.ref.png | Bin 5801 -> 5789 bytes + test/reference/twin-antialias-gray.quartz.ref.png | Bin 0 -> 4466 bytes + test/reference/twin-antialias-none.quartz.ref.png | Bin 0 -> 1026 bytes + .../twin-antialias-subpixel.quartz.ref.png | Bin 0 -> 4466 bytes + test/reference/twin.quartz.ref.png | Bin 0 -> 4466 bytes + test/reference/user-font-proxy.quartz.ref.png | Bin 19795 -> 19737 bytes + test/reference/user-font.quartz.ref.png | Bin 5960 -> 5854 bytes + test/reference/world-map-fill.quartz.ref.png | Bin 0 -> 56665 bytes + test/reference/world-map-stroke.quartz.ref.png | Bin 0 -> 79192 bytes + test/reference/world-map.quartz.ref.png | Bin 0 -> 82020 bytes + .../reference/xcomposite-projection.quartz.ref.png | Bin 926 -> 924 bytes + 231 files changed, 0 insertions(+), 0 deletions(-) + +commit e1353f3b859d28dc3f5a9d4fb4496085240a8c68 +Author: Andrea Canciani +AuthorDate: Thu Apr 16 11:59:02 2015 +0200 +Commit: Andrea Canciani +CommitDate: Mon Jul 27 12:45:59 2015 +0200 + + test: Always use DejaVu Sans as default font + + This makes the results of the test suite more stable across different + environments, because it does not rely anymore on + CAIRO_FONT_FAMILY_DEFAULT (which on Windows is "Arial", on Mac + "Helvetica"). + + This change should not affect Linux environments, assuming that the + default font is already set to "DejaVu Sans". + + test/cairo-test.c | 4 ++++ + test/clip-zero.c | 2 +- + test/pthread-show-text.c | 4 ++-- + test/show-glyphs-many.c | 2 +- + test/text-cache-crash.c | 4 ++-- + test/user-font-proxy.c | 2 +- + 6 files changed, 11 insertions(+), 7 deletions(-) + +commit 6951fb4238706522d357fd25236b17492baea1b0 +Author: Bryce Harrington +AuthorDate: Fri Jul 17 12:07:18 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jul 17 12:07:18 2015 -0700 + + Revert "pattern: allow for a floating one pixel rounded difference." + + While this fixed a real bug, in testing this patch was found to fail a + number of tests and thus needs further work. + + This reverts commit e7acf4b6dc6666c2a2c54fb08e9ad6f01a1d415f. + + src/cairo-pattern.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit edd321c2f52daaef9804481bc4d0aa84f8ff0060 +Author: Arpit Jain +AuthorDate: Mon Jul 13 11:31:48 2015 +0530 +Commit: Bryce Harrington +CommitDate: Tue Jul 14 01:44:33 2015 -0700 + + gl: Fix incorrect size of expression + + The sizeof operator now applied to the correct variable "ctx->glyph_cache", + instead of its pointer address, in function "_cairo_gl_composite_flush". + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91321 + Signed-off-by: Arpit Jain + Reviewed-by: Bryce Harrington + + src/cairo-gl-composite.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 498fc2fbe31682754f1aa3864b764229d0b6838c +Author: Ashim +AuthorDate: Thu Jul 9 10:43:30 2015 +0530 +Commit: Bryce Harrington +CommitDate: Thu Jul 9 13:50:35 2015 -0700 + + Fix out of bound access in struct pattern->type + + The pattern structure is hardcoded to hold 7 elements, yet the + pattern_names array in cairo-surface-observer.c is initialized with 8 + strings. This causes a crash in print_array at line 1587 when it tries + to access the 8th member. + + Hence changed the 'type' array from type[7] to type[8] to avoid out of + bound access. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91266 + Signed-off-by: Ashim + Reviewed-by: Bryce Harrington + + src/cairo-surface-observer-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ad45e8f99f4ab6777559480cede7d1461a9c28fc +Author: Bryce Harrington +AuthorDate: Tue Jul 7 18:20:30 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Jul 7 18:20:30 2015 -0700 + + truetype: Drop redundant check of truetype struct + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29010 + + src/cairo-truetype-subset.c | 1 - + 1 file changed, 1 deletion(-) + +commit 943ba26a20f51b39b4b102f727a26e4f5e283063 +Author: Arpit Jain +AuthorDate: Fri Jul 3 15:31:48 2015 +0530 +Commit: Bryce Harrington +CommitDate: Mon Jul 6 15:14:23 2015 -0700 + + test/bitmap-font: Fix use of pointer after freed pointer + + The pointer 'filename' is already freed and still used as a function + argument. This patch will free the pointer 'filename' only after it is + used. + + Also, the patch ensures that it frees the pointer 'filename' before any + return of this function. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91206 + Signed-off-by: Arpit Jain + Reviewed-by: Bryce Harrington + + test/bitmap-font.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit dced42a6801ea0f7ff9fa9f7aa3c7b2a10103884 +Author: Chris Wilson +AuthorDate: Mon Jul 6 22:26:14 2015 +0100 +Commit: Chris Wilson +CommitDate: Mon Jul 6 22:28:20 2015 +0100 + + xlib: Avoid using uninitialised variable on impossible error path + + In commit f6843d5cbb79c35f7b331ac31c4a55c9574928fc + Author: Arpit Jain + Date: Mon Jul 6 14:13:06 2015 -0700 + + xlib: Fix deferencing of uninitialised 'display' + + the common error + clenaup path was clumsily fixed to use the right + variable after the error didn't set the local display variable. + + Signed-off-by: Chris Wilson + + src/cairo-xlib-render-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 84b8d7657615d3ecc11b029151dfd87704f15641 +Author: Chris Wilson +AuthorDate: Mon Jul 6 22:24:29 2015 +0100 +Commit: Chris Wilson +CommitDate: Mon Jul 6 22:28:20 2015 +0100 + + Revert "xlib: Fix deferencing of uninitialised 'display'" + + This reverts commit f6843d5cbb79c35f7b331ac31c4a55c9574928fc. + + src/cairo-xlib-render-compositor.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit f6843d5cbb79c35f7b331ac31c4a55c9574928fc +Author: Arpit Jain +AuthorDate: Mon Jul 6 14:13:06 2015 -0700 +Commit: Bryce Harrington +CommitDate: Mon Jul 6 14:13:24 2015 -0700 + + xlib: Fix deferencing of uninitialised 'display' + + Initialising 'display' to NULL and checking before deferencing during display->base. + This patch will check the deferencing of uninitialised 'display' in case, + _cairo_xlib_display_acquire does not return CAIRO_STATUS_SUCCESS. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=87893 + Signed-off-by: Arpit Jain + Reviewed-by: Bryce Harrington + + src/cairo-xlib-render-compositor.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 06a2696d5fa0ea50adb1463e2ee923ac92aabbdf +Author: Bryce Harrington +AuthorDate: Mon Jul 6 14:11:57 2015 -0700 +Commit: Bryce Harrington +CommitDate: Mon Jul 6 14:11:57 2015 -0700 + + cairo-gl: Still check the value of the macros + + Just because they're defined doesn't mean they've been enabled. + + src/cairo-gl.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit c8b6c6066a238cf4cb04679e1149e956b1556a0c +Author: Koop Mast +AuthorDate: Mon Jan 5 12:49:25 2015 +0100 +Commit: Bryce Harrington +CommitDate: Sat Jun 27 01:14:22 2015 -0700 + + cairo-gl: Fix compiler warning if CAIRO_HAS_*_FUNCTIONS is not defined. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88050 + + [Updated to also still check the value of the macros] + + Signed-off-by: Bryce Harrington + + src/cairo-gl.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 776dd20c8485e4e70f42a2e66a0545cf87944ac5 +Author: Bryce Harrington +AuthorDate: Sat Jun 27 00:43:04 2015 -0700 +Commit: Bryce Harrington +CommitDate: Sat Jun 27 00:44:29 2015 -0700 + + configure: Fix typo for missing line continuation character + + There is an unintentional (benign) missing line continuation "\" in the + definition of MAYBE_WARN in configure. configure completes and issues a + WARNING: + + configure: WARNING: cache variable cairo_cv_warn_maybe contains a + newline + + Found and solved by Larry Baker. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=89750 + Signed-off-by: Bryce Harrington + + build/configure.ac.warnings | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 31291611625c21bc9ec2827cf4ccc8a1f18392ed +Author: Bryce Harrington +AuthorDate: Sat Jun 27 00:34:05 2015 -0700 +Commit: Bryce Harrington +CommitDate: Sat Jun 27 00:34:05 2015 -0700 + + RELEASING: Add requirement to upload ChangeLogs + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=21676 + + RELEASING | 5 +++++ + 1 file changed, 5 insertions(+) + +commit bf4f5f3a904850f0c110ca8530b1965dc969312d +Author: Bryce Harrington +AuthorDate: Fri Jun 26 16:30:06 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Jun 26 16:30:06 2015 -0700 + + cairo-script: Return a cairo_status_t error, not FALSE + + This typo results in certain paths being incorrectly recorded with + script surfaces. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91054 + Signed-off-by: Bryce Harrington + + src/cairo-script-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bb24f165ff57973347b34956a371c6b33d2d9b59 +Author: John Lindgren +AuthorDate: Sun May 31 11:48:30 2015 -0400 +Commit: Bryce Harrington +CommitDate: Fri Jun 26 16:12:33 2015 -0700 + + Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. + + Marking stack-allocated objects as no-access creates false positives, + which distract from finding real memory errors. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=52548 + + Reviewed-by: Bryce Harrington + + src/cairo-freelist-private.h | 2 +- + src/cairo-freelist.c | 8 ++++---- + src/cairo-gstate.c | 2 +- + src/cairo-path-fixed.c | 2 +- + src/cairo-pattern.c | 10 +++++----- + src/cairo-pen.c | 2 +- + src/cairo-polygon.c | 2 +- + src/cairo-region.c | 2 +- + src/cairo-stroke-style.c | 2 +- + src/cairo-traps.c | 2 +- + src/cairo-tristrip.c | 2 +- + 11 files changed, 18 insertions(+), 18 deletions(-) + +commit 1bcce4362927952b25cb916f862dde6fd35f8125 +Author: Bryce Harrington +AuthorDate: Thu Jun 25 18:54:23 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 25 18:54:23 2015 -0700 + + cairo-recording-surface: Fix loss of alpha when clipping + + Commit 8020e0bc introduced a regression due to a typo when copying a + mask for a cairo recording surface. It should copy the source and mask + members from the command source to the recording surface, but instead it + copies the source twice. + + Fix suggested by Massimo. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73038 + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73901 + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c1c3028a0cf0e7673ef82cc8f39cb6035a036944 +Author: Bryce Harrington +AuthorDate: Thu Jun 25 17:41:26 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 25 17:42:27 2015 -0700 + + cairo-script: Fix sp. "directoriy" + + Signed-off-by: Bryce Harrington + + src/cairo-script-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f82ae573fe4748874e6dc7025016f7bf6bc8f7f3 +Author: Uli Schlachter +AuthorDate: Sat Jun 20 10:59:52 2015 +0200 +Commit: Uli Schlachter +CommitDate: Sat Jun 20 10:59:52 2015 +0200 + + XCB: Don't attach uploaded surfaces as snapshots + + When you draw (part of) a surface to an XCB surface, the XCB backend will safe + the uploaded part as a snapshot to the input surface. This allows to re-use this + picture in case the same surface is later used again as a source. + + However, other backends do not do this and this has caused and/or highlighted + numerous bugs. Just skipping the snapshot fixes or hides these bugs. + + Papers-over: https://bugs.freedesktop.org/show_bug.cgi?id=67505 + Signed-off-by: Uli Schlachter + + src/cairo-xcb-surface-render.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit e7acf4b6dc6666c2a2c54fb08e9ad6f01a1d415f +Author: Alban Browaeys +AuthorDate: Wed Jan 21 12:01:45 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Jun 18 16:07:40 2015 -0700 + + pattern: allow for a floating one pixel rounded difference. + + That is if the difference between the origin and the end is bigger than + .5 round up regardless of the coordinates. + + Round the difference of the floats instead of rounding the floats then + diff them. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84396 + + Reviewed-by: Bryce Harrington + + src/cairo-pattern.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit b4a922f62d34973ea89495b40ce8bc6378110b9e +Author: Bryce Harrington +AuthorDate: Tue Jun 16 16:42:56 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 18 12:38:59 2015 -0700 + + cairo-script: Rename struct member to avoid name collision on AIX + + On AIX, the token jmpbuf is a pre-processor macro. + cairo-script-scanner.c includes a private struct with a member named + jmpbuf which gets renamed to __jmpbuf when AIX's sys/context.h has been + included. + + While judicious ordering of includes might kludge around this problem + (by causing all references to .jmpbuf to become .__jmpbuf), it's better + to simply select a new name for the struct member that won't suffer the + collision. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=89339 + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + + util/cairo-script/cairo-script-private.h | 2 +- + util/cairo-script/cairo-script-scanner.c | 74 ++++++++++++++++---------------- + 2 files changed, 38 insertions(+), 38 deletions(-) + +commit 714a77e3f1c818bb5eec8c654c576d862ef6684c +Author: Bryce Harrington +AuthorDate: Tue Jun 16 15:18:23 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 18 12:38:55 2015 -0700 + + cairo-script: Prefer cairo from local tree + + Use quoted includes rather than bracketed, to prefer linking to the + in-tree cairo in preference to the system cairo. + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + + util/cairo-script/cairo-script-interpreter.c | 3 +-- + util/cairo-script/csi-bind.c | 4 ++-- + util/cairo-script/csi-exec.c | 4 ++-- + util/cairo-script/csi-replay.c | 4 ++-- + util/cairo-script/csi-trace.c | 4 ++-- + 5 files changed, 9 insertions(+), 10 deletions(-) + +commit 3ed581149f82b653e1987e746467ad8ae9ce3ca2 +Author: Bryce Harrington +AuthorDate: Tue Jun 16 15:13:31 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 18 12:38:51 2015 -0700 + + cairo-script: Cleanup boilerplate header for consistency + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + + util/cairo-script/cairo-script-hash.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit d31e2418d6d9920205a154f21becca12a7b84c2a +Author: Bryce Harrington +AuthorDate: Tue Jun 16 15:06:59 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 18 12:38:47 2015 -0700 + + cairo-script: Add missing copyright and boilerplate + + Chris wrote all of the cairo script stuff. I'm making a guess about the + copyright date. + + Reviewed-by: Chris Wilson + Signed-off-by: Bryce Harrington + + util/cairo-script/csi-bind.c | 33 +++++++++++++++++++++++++++++++++ + util/cairo-script/csi-exec.c | 33 +++++++++++++++++++++++++++++++++ + util/cairo-script/csi-replay.c | 33 +++++++++++++++++++++++++++++++++ + util/cairo-script/csi-trace.c | 33 +++++++++++++++++++++++++++++++++ + 4 files changed, 132 insertions(+) + +commit a3b6afabf670076e093850606d89e142ddf6ea09 +Author: Bryce Harrington +AuthorDate: Tue Jun 16 15:05:54 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 18 12:38:43 2015 -0700 + + cairo-script: Always include config.h first thing + + Reviewed-by: Chris Wilson + Signed-off-by: Bryce Harrington + + util/cairo-script/cairo-script-file.c | 2 ++ + util/cairo-script/cairo-script-hash.c | 2 ++ + util/cairo-script/cairo-script-interpreter.c | 2 ++ + util/cairo-script/cairo-script-objects.c | 2 ++ + util/cairo-script/cairo-script-operators.c | 2 ++ + util/cairo-script/cairo-script-scanner.c | 2 ++ + util/cairo-script/cairo-script-stack.c | 2 ++ + util/cairo-script/csi-bind.c | 3 +++ + util/cairo-script/csi-exec.c | 3 +++ + util/cairo-script/csi-replay.c | 3 +++ + util/cairo-script/csi-trace.c | 3 +++ + 11 files changed, 26 insertions(+) + +commit 11b6c49c103d53526e9805c8906fde5dbb2eb884 +Author: Fredrik Fornwall +AuthorDate: Sun May 31 20:36:48 2015 +0200 +Commit: Bryce Harrington +CommitDate: Fri Jun 5 20:53:11 2015 -0700 + + Fix cairo_get_locale_decimal_point() on Android + + src/cairo-misc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1ed318ce1337ce4d09c508eb74763bf43cce8d9f +Author: Massimo Valentini +AuthorDate: Tue Sep 23 12:37:35 2014 +0200 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 15:02:01 2015 -0700 + + polygon-intersection: Delete misleading comments and dead-code + + den_det is positive because intersect_lines is called + only after _slope_compare returned > 0 and slope_compare + is returning the sign of den_det + + The quadratic-time intersection finder is #if 0-ed out + in src/cairo-bentley-ottman.c, but is unusable even there + since the second commit to that file. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=74779 + Reviewed-by: Bryce Harrington + + src/cairo-polygon-intersect.c | 60 ++----------------------------------------- + 1 file changed, 2 insertions(+), 58 deletions(-) + +commit 63f59ea89625bc2f445c5ab342c0f1c3971aabea +Author: Massimo Valentini +AuthorDate: Tue Sep 23 12:37:26 2014 +0200 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 15:01:57 2015 -0700 + + polygon-intersection: Try not to invoke undefined behaviour + + Optimizing compilers aggressively remove code that is executed only + after an undefined behaviour occurred. + + Also, the difference of two (non char) pointers hides an integer + division that, because the divisor is known at compile time, is + transformed into a multiplication by a pseudo-reciprocal, and in this + case the difference is not always a multiple of the divisor, resulting + in an invalid comparison predicate. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=74779 + Reviewed-by: Bryce Harrington + + src/cairo-polygon-intersect.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a3c022bb98d716bd4e3f9ce50095a72e25605fe8 +Author: Massimo Valentini +AuthorDate: Tue Sep 23 12:37:20 2014 +0200 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 15:01:35 2015 -0700 + + polygon-intersection: Include approximation in intersection points + + In Hobby's paper it is proved that INTERSECTION events can be + processed in any order by ignoring intersections between edges + non-adjacent in the active edges list. + But with respect to START/STOP events they must be processed in + order. Because START/STOP events have always exact y, it is + sufficient to know whether an integer y intersection is a + default/excess approximation of the exact to properly sort events. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=74779 + Reviewed-by: Bryce Harrington + + src/cairo-polygon-intersect.c | 139 ++++++++++++++++++++---------------------- + 1 file changed, 67 insertions(+), 72 deletions(-) + +commit 9f2bbfa41fa26a44c38949ecf329b06b5585c87c +Author: Massimo Valentini +AuthorDate: Tue Sep 23 12:37:08 2014 +0200 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 15:00:58 2015 -0700 + + polygon-intersection: Do not discard intersection exactly at top edge + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=74779 + Reviewed-by: Bryce Harrington + + src/cairo-polygon-intersect.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b9ada819953303e708a376779ff27f75ff6bc51c +Author: Bryce Harrington +AuthorDate: Thu Jun 4 14:24:31 2015 -0700 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 14:24:31 2015 -0700 + + cairo-script: Improve buffer length check + + Quells the following warning: + + cairo-script-scanner.c: In function ‘_translate_string’: + cairo-script-scanner.c:1623:18: warning: comparison between signed and + unsigned integer expressions [-Wsign-compare] + if (buf_len <= 8 + 2*string->len) { + ^ + + util/cairo-script/cairo-script-scanner.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit f032133e6d5ad05157fc46609d8c63103028342c +Author: Julien Isorce +AuthorDate: Wed Sep 3 10:58:18 2014 +0100 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 14:12:12 2015 -0700 + + build: Show all disabled features in cairo-features.h + + Even features which are disabled by default should appear in + cairo-features.h. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83359 + (Patch approved by Behdad Esfahbod in bug tracker.) + + Reviewed-by: Bryce Harrington + + build/configure.ac.features | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5d150ee111c222f09e78f4f88540964476327844 +Author: Nathan Froyd +AuthorDate: Mon May 4 13:38:41 2015 -0400 +Commit: Bryce Harrington +CommitDate: Thu Jun 4 13:25:23 2015 -0700 + + Support new-style __atomic_* primitives + + Recent versions of GCC/clang feature a new set of compiler intrinsics + for performing atomic operations, motivated by the operations needed to + support the C++11 memory model. These intrinsics are more flexible than + the old __sync_* intrinstics and offer efficient support for atomic load + and store operations. + + Having the load appear atomic to the compiler is particular important + for tools like ThreadSanitizer so they don't report false positives on + memory operations that we intend to be atomic. + + Patch from Nathan Froyd + + build/aclocal.cairo.m4 | 12 +++++++ + src/cairo-atomic-private.h | 90 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 102 insertions(+) + +commit d1dda5eeb218d22c79eb82714f5d7c9869f70260 +Author: Adrian Johnson +AuthorDate: Thu May 21 22:37:06 2015 +0930 +Commit: Adrian Johnson +CommitDate: Thu May 21 22:40:01 2015 +0930 + + cff: ensure glyph widths are positive when font matrix yy is negative + + Bug 90538 + + src/cairo-cff-subset.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f52f0e2feb1ad0a4de23c475a8c020d41a1764a8 +Author: Zan Dobersek +AuthorDate: Fri May 8 01:50:25 2015 -0700 +Commit: Bryce Harrington +CommitDate: Mon May 18 15:03:29 2015 -0700 + + Manually transpose the matrix in _cairo_gl_shader_bind_matrix() + + To maintain compatibility with OpenGL ES 2.0, the matrix in + _cairo_gl_shader_bind_matrix() should be manually transposed, + and GL_FALSE passed as the transpose argument to the + glUniformMatrix3fv() call as it is the only valid value for + that parameter in OpenGL ES 2.0. + + Reviewed-by: Bryce Harrington + Acked-by: "Henry (Yu) Song" + + src/cairo-gl-shaders.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 8b798c320f6fd2d87349d0a716304474022bc5ea +Author: Bryce Harrington +AuthorDate: Fri Apr 24 18:23:46 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Apr 24 18:23:46 2015 -0700 + + Fix broken canvas text font size in Inkscape + + An earlier fix to bug 84324 added a regression in the font size of + canvas text in Inkscape when compiled with the Quartz backend. + + Patch from Andrea Canciani + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84324 + Reviewed-by: Bryce Harrington + + src/cairo-quartz-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d5ffe67008afe46c030b31afc0803321b6479990 +Author: Behdad Esfahbod +AuthorDate: Thu Apr 23 14:26:14 2015 -0700 +Commit: Behdad Esfahbod +CommitDate: Thu Apr 23 14:26:14 2015 -0700 + + Remove debug printf; ouch! + + src/cairo-ft-font.c | 1 - + 1 file changed, 1 deletion(-) + +commit 853e822c9c8f6d86c730d27e99458dea8b6717e1 +Author: Behdad Esfahbod +AuthorDate: Tue Apr 21 14:31:53 2015 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Apr 21 14:31:53 2015 -0700 + + Oops, fixup previous commit + + src/cairo-font-face.c | 7 +++++++ + src/cairoint.h | 1 + + 2 files changed, 8 insertions(+) + +commit bb01fd879448b47074d4d800fe1620a57caf1dbe +Author: Behdad Esfahbod +AuthorDate: Tue Apr 21 14:29:41 2015 -0700 +Commit: Behdad Esfahbod +CommitDate: Tue Apr 21 14:29:41 2015 -0700 + + [ft] Return CAIRO_STATUS_FILE_NOT_FOUND if font file can't be opened + + A common source of error when people are setting up pango on a new + device is when font files don't have the right permissions and cannot + be opened. Cairo was returning out-of-memory before, making the + Pango error message useless. + + With this change, cairo will return file-not-found, and pango prints + that out. It's still not ideal; a ENOACCESS equivalent would have + been better. + + src/cairo-ft-font.c | 50 +++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 35 insertions(+), 15 deletions(-) + +commit 040ae0ce1934ac27c6394dc74405faad34cd5913 +Author: 江頭幸路 +AuthorDate: Fri Apr 17 20:59:17 2015 +0900 +Commit: Bryce Harrington +CommitDate: Mon Apr 20 17:16:18 2015 -0700 + + Avoid appending an empty slot to an user data array when user_data is NULL. + + Otherwise, calling cairo_set_user_data(cr, key, 0, 0) many times + causes a long user data array, almost all of whose slots are empty. + It leads to unnecessarily much memory consumption and long execution time of + cairo_set_user_data(cr, key, 0, 0) and cairo_get_user_data(cr, key) after + it. + + This issue probably happens since the commit + http://cgit.freedesktop.org/cairo/commit/?id=9341c254a + + Reviewed-by: Bryce Harrington + + src/cairo-array.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 89942c6af00af8b72babeae676376f4cf8911c16 +Author: Andrea Canciani +AuthorDate: Thu Apr 9 01:31:34 2015 +0200 +Commit: Andrea Canciani +CommitDate: Thu Apr 16 11:28:50 2015 +0200 + + test: Correct bug number in clip-complex-bug61592 + + The filename of the C source file is correct, but the test name (both + as function name and as reference image name) has a typo in it. + + Related to https://bugs.freedesktop.org/show_bug.cgi?id=61592 + + test/clip-complex-bug61592.c | 2 +- + ...mplex-bug61492.ref.png => clip-complex-bug61592.ref.png} | Bin + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit e38e942ac0ef6f5366cabdb22df9858fa4c05ea1 +Author: Руслан Ижбулатов +AuthorDate: Sat Apr 4 15:58:53 2015 +0000 +Commit: Bryce Harrington +CommitDate: Mon Apr 13 17:43:35 2015 -0700 + + win32: Add a win32 boilerplate that uses a real window + + This way it uses the codepath for cairo_win32_surface_create_with_format(), + instead of the cairo_win32_surface_create_with_dib(). + + Without the recording tests (which terminate the testsuite) + the testsuite results for win32 are: + + 284 Passed, 167 Failed [1 crashed, 9 expected], 23 Skipped + win32 (rgb24): 1 crashed! + win32 (rgb24): 17 error + win32 (rgb24): 155 failed + win32 (argb32): 1 crashed! + win32 (argb32): 17 error + win32 (argb32): 68 failed + win32-window-color (rgb24): 1 crashed! + win32-window-color (rgb24): 17 error + win32-window-color (rgb24): 148 failed + win32-window-coloralpha (argb32): 1 crashed! + win32-window-coloralpha (argb32): 17 error + win32-window-coloralpha (argb32): 66 failed + + Reviewed-by: Bryce Harrington + + boilerplate/cairo-boilerplate-win32.c | 242 ++++++++++++++++++++++++++++++++-- + 1 file changed, 228 insertions(+), 14 deletions(-) + +commit 16898ba11b4d6e9e2e64bb2d02d0fb5adbe266e2 +Author: Руслан Ижбулатов +AuthorDate: Thu Mar 26 19:33:43 2015 +0000 +Commit: Bryce Harrington +CommitDate: Mon Apr 13 17:43:28 2015 -0700 + + win32: Add cairo API to set up a Win32 surface for an HDC with an alpha channel. + + Signed-off-by: Руслан Ижбулатов + Reviewed-by: Bryce Harrington + + src/cairo-win32.h | 4 ++ + src/win32/cairo-win32-display-surface.c | 68 +++++++++++++++++++++++++-------- + 2 files changed, 56 insertions(+), 16 deletions(-) + +commit 654b4a8efe579b05e60c0bd0b7722d474366b1cc +Author: Andrea Canciani +AuthorDate: Thu Mar 26 17:36:16 2015 +0100 +Commit: Andrea Canciani +CommitDate: Wed Apr 8 14:32:17 2015 +0200 + + test: Fix coverage-intersecting-triangles reference + + Commit 4e3ef57bc892b0b046c486390adc7164a1de64de added + coverage-intersecting-triangles with an incorrect reference and + generator. The test checks the rasterization of two overlapping + triangles in the following position: + + . . + |\ /| + | X | + |/ \| + .---. + + Since the triangles have both vertical and horizontal sides of size + x/WIDTH, the expected coverage is 3/4 (75%) of (x/WIDTH)^2. The + original code, instead, was checking for a coverage of 0.75*x/WIDTH, + as if one of the sides was always 1 unit long. + + The image and xlib backends still suffer from some jitter, caused by + the approximation of the actual coverage by means of sampling. For + this reason their references are still considered XFAIL, even though + their result now looks mostly consistent with the expected reference. + + test/coverage.c | 2 +- + ... => coverage-intersecting-triangles.image.xfail.png} | Bin + test/reference/coverage-intersecting-triangles.ref.png | Bin 209 -> 262 bytes + 3 files changed, 1 insertion(+), 1 deletion(-) + +commit 2cf2d8e340a325adb205baf8e4bd64e1d1858008 +Author: Bryce Harrington +AuthorDate: Sat Apr 4 15:49:18 2015 -0700 +Commit: Bryce Harrington +CommitDate: Sat Apr 4 15:49:18 2015 -0700 + + Fix spellings descibed, indicies, stange + + src/cairo-pdf-surface.c | 2 +- + src/drm/cairo-drm-intel-debug.c | 2 +- + test/zero-alpha.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 71392653803277cec6deea9e7aa4696f8b22dd73 +Author: Bryce Harrington +AuthorDate: Wed Mar 18 18:46:35 2015 -0700 +Commit: Bryce Harrington +CommitDate: Wed Mar 18 18:46:35 2015 -0700 + + NEWS: Sp. fix + + NEWS | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 904f1fdc1d7f13d4443bafd760db7395c5030ca7 +Author: Bryce Harrington +AuthorDate: Wed Mar 18 15:49:41 2015 -0700 +Commit: Bryce Harrington +CommitDate: Wed Mar 18 15:49:41 2015 -0700 + + surface: Clarify flush documentation + + src/cairo-surface.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit b19b06c46318e2fe80e2c36175075d11bf4a04ee +Author: Andrea Canciani +AuthorDate: Thu Mar 12 17:02:02 2015 +0100 +Commit: Bryce Harrington +CommitDate: Fri Mar 13 13:18:32 2015 -0700 + + Harden make-cairo-test-constructors.sh + + The make-cairo-test-constructors.sh script executes several commands + without checking their success. This can lead to undetected errors, + like those fixed in 86fad78fcd2bf987249890aea4eabcce02a58f45. + + The script now exits with an error status if no file is + input. Moreover, it sets the '-e' flag, so that if a command fails, + the whole script is immediately terminated with an error. + + In the Makefile.am, the script result is now checked and the target + file is removed upon error. This ensures that the + 'cairo-test-constructors.c' target completes succesfully only if no + error occurred. + + Reviewed-by: Bryce Harrington + + test/Makefile.am | 2 +- + test/make-cairo-test-constructors.sh | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit ec0153940d694c71324ed0d9cf895ac49ed19674 +Author: Bryce Harrington +AuthorDate: Fri Mar 13 13:17:28 2015 -0700 +Commit: Bryce Harrington +CommitDate: Fri Mar 13 13:18:32 2015 -0700 + + Start 1.14.3 development + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5182d9bc5e0c8ca9c2943cd249e22fd28f582892 +Author: Adrian Johnson +AuthorDate: Wed Mar 11 19:16:38 2015 +1030 +Commit: Adrian Johnson +CommitDate: Wed Mar 11 19:16:38 2015 +1030 + + doc: add index of new symbols in 1.14 + + doc/public/cairo-docs.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit db6668cd0a836416e74cf6556bfd3e2bc1d3a4d4 +Author: Bryce Harrington +AuthorDate: Tue Mar 10 19:55:35 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 19:57:19 2015 -0700 + + RELEASING: Update contacts + + Add a CC to the cairo@ list itself. + + Drop updating of the GNOME dependencies page; this appears to have not + been updated since 2008. + + RELEASING | 20 ++++++++------------ + 1 file changed, 8 insertions(+), 12 deletions(-) + +commit 93422b3cb5e0ef8104b8194c8873124ce2f5ea2d +Author: Bryce Harrington +AuthorDate: Tue Mar 10 18:42:50 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 18:42:50 2015 -0700 + + version: bump for cairo-1.14.2 release + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 061d54745a0c20b5da08ec4ff8b958d20fd6a143 +Author: Bryce Harrington +AuthorDate: Tue Mar 10 16:24:37 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 16:24:37 2015 -0700 + + KNOWN_ISSUES: Restore known issues file as a stub + + Apparently distcheck requires this file be present. + + KNOWN_ISSUES | 3 +++ + 1 file changed, 3 insertions(+) + +commit fb41ed34415dd58fe57490f93c6151a4bec483f1 +Author: Bryce Harrington +AuthorDate: Tue Mar 10 13:08:29 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 13:08:29 2015 -0700 + + NEWS: Note about the OS X support + + NEWS | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 845d2420e0cbfd338bab63764c4fe3c4273ab47e +Author: Andrea Canciani +AuthorDate: Tue Mar 10 12:10:35 2015 +0100 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 12:42:16 2015 -0700 + + Update README with new minimum MacOSX requirements + + Since 70cc8f250b5669e757b4f044571ba0f71e3dea9e the quartz backend is + using some APIs that are not available on MacOSX 10.4 directly + (i.e. without detecting their availability through dynamic linking). + This means that the quartz backend does not work anymore on MacOSX + 10.4 and that the 10.5 SDK (or newer) is needed to build. + + README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 86fad78fcd2bf987249890aea4eabcce02a58f45 +Author: Bryce Harrington +AuthorDate: Tue Mar 10 12:15:40 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 12:15:40 2015 -0700 + + On MacOSX, the sed utility errors out when parsing non-UTF8 + files. Because of this, the generated cairo-test-constructor only + contained a few tests and the test suite was thus incomplete. + + Original patch by Andrea Canciani + + test/composite-integer-translate-over.c | 2 +- + test/degenerate-dash.c | 2 +- + test/degenerate-path.c | 2 +- + test/long-dashed-lines.c | 2 +- + test/reflected-stroke.c | 2 +- + test/user-font-rescale.c | 4 ++-- + 6 files changed, 7 insertions(+), 7 deletions(-) + +commit f8407332214ba87bbd652f09ce3618a973f27878 +Author: Andrea Canciani +AuthorDate: Tue Mar 10 12:10:34 2015 +0100 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 10:56:00 2015 -0700 + + Update KNOWN_ISSUES documentation + + The bug mentioned in KNOWN_ISSUES was fixed in + 2b3d8de11a536d668084ea6d2bf295da1d1cdc11, but the documentation was + not updated. Moreover, the header of KNOWN_ISSUES was 1.10-specific. + + Reviewed-by: Bryce Harrington + + KNOWN_ISSUES | 10 ---------- + 1 file changed, 10 deletions(-) + +commit c45e323555356da0b509c3bb380ccb08b4dea9db +Author: Bryce Harrington +AuthorDate: Tue Mar 10 04:45:18 2015 -0700 +Commit: Bryce Harrington +CommitDate: Tue Mar 10 10:55:55 2015 -0700 + + NEWS: Finish filling in changes + + NEWS | 27 +++++++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +commit 79dbe1bad8089aa3e0b9a9a63443a74cd9e22f32 +Author: Bryce Harrington +AuthorDate: Sat Mar 7 00:30:40 2015 -0800 +Commit: Bryce Harrington +CommitDate: Sat Mar 7 00:30:40 2015 -0800 + + NEWS: Update for changes through Nov 2014 + + NEWS | 47 +++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 47 insertions(+) + +commit 581f8137052db60d072ee5a4cefdf7292cddab05 +Author: Bryce Harrington +AuthorDate: Fri Mar 6 23:54:49 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Mar 6 23:54:49 2015 -0800 + + HACKING: Add link to git tutorial and wordsmith a bit + + HACKING | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +commit c0458b456007f718747be7fd690e674df5026059 +Author: Bryce Harrington +AuthorDate: Fri Mar 6 23:31:25 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Mar 6 23:35:34 2015 -0800 + + csi-trace: Add --version and --help args to utility + + util/cairo-script/csi-trace.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit 3a7d411539975728f90b7d0bb55e3bee2e8600bb +Author: Bryce Harrington +AuthorDate: Fri Mar 6 22:26:22 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Mar 6 23:35:34 2015 -0800 + + Revert "xlib: Remove queued event from _XReadEvents" + + This reverts commit e7fc8f405beeeb1048f69fe22923170a137b805e. + + src/cairo-xlib-surface-shm.c | 5 ----- + 1 file changed, 5 deletions(-) + +commit c3605bd3adcae1f12731230a1ea599d15e3c8cad +Author: Bryce Harrington +AuthorDate: Fri Mar 6 23:29:53 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Mar 6 23:29:53 2015 -0800 + + git-ignore: Add build's test-driver + + build/.gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit 246d5c1d477cc246788f5695a08c4c414a36fbf5 +Author: Bryce Harrington +AuthorDate: Fri Mar 6 19:14:58 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Mar 6 19:19:13 2015 -0800 + + doc: Drop extraneous para's + + These may have been required in the past, but just trip up distcheck + today. The generated docs still look fine. + + src/cairo-version.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit e4f6d07efbf37513b1f2341091839d66b94e3355 +Author: Bryce Harrington +AuthorDate: Fri Mar 6 18:34:07 2015 -0800 +Commit: Bryce Harrington +CommitDate: Fri Mar 6 18:34:07 2015 -0800 + + gitignore: logs, manuals + + .gitignore | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e7fc8f405beeeb1048f69fe22923170a137b805e +Author: Henry (Yu) Song +AuthorDate: Thu Mar 5 00:20:42 2015 +0000 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 17:27:14 2015 -0800 + + xlib: Remove queued event from _XReadEvents + + Following patch fixes a memory leak in xlib surface. + + Reviewed-by: Bryce Harrington + + src/cairo-xlib-surface-shm.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 4e680ff4bb3a5089b2ec40a96f8e292aa3cfe5f4 +Author: Michael Haubenwallner +AuthorDate: Fri Feb 27 14:25:41 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 17:03:32 2015 -0800 + + headers: fix include order for AIX, bug#89354 + + also for cairo-xcb-private.h + + src/cairo-xcb-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 733de40e876f41ae390ae06fdf9789a48651a4e9 +Author: Michael Haubenwallner +AuthorDate: Fri Feb 27 11:22:04 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 17:03:28 2015 -0800 + + headers: fix include order for AIX, bug#89354 + + src/cairo-ft-private.h | 2 +- + src/cairo-xlib-private.h | 2 +- + src/cairo-xlib-surface-private.h | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 94d30d7160bc1dfabac22ffb9cc810ceb9a35ead +Author: Michael Haubenwallner +AuthorDate: Thu Feb 26 15:11:05 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 17:03:18 2015 -0800 + + perf: fix include order for AIX, bug#89354 + + perf/cairo-perf-report.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 15c427bc771e8a7018718eca3855f7de39438457 +Author: Michael Haubenwallner +AuthorDate: Thu Feb 26 16:00:01 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 17:02:23 2015 -0800 + + perf/micro: fix include order for AIX, bug#89354 + + perf/micro/disjoint.c | 2 +- + perf/micro/hatching.c | 2 +- + perf/micro/pattern_create_radial.c | 2 +- + perf/micro/spiral.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 0916d580db94bccbf8d31cc58a8198a0c1f8b309 +Author: Michael Haubenwallner +AuthorDate: Thu Feb 26 15:03:43 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 17:02:14 2015 -0800 + + test: fix include order for AIX, bug#89354 + + test/clip-nesting.c | 2 +- + test/clip-operator.c | 2 +- + test/close-path.c | 2 +- + test/composite-integer-translate-over-repeat.c | 2 +- + test/composite-integer-translate-over.c | 2 +- + test/composite-integer-translate-source.c | 2 +- + test/copy-path.c | 2 +- + test/extend-pad-border.c | 2 +- + test/extend-pad-similar.c | 2 +- + test/extend-pad.c | 2 +- + test/extend-reflect.c | 2 +- + test/extended-blend.c | 2 +- + test/mask.c | 2 +- + test/multi-page.c | 4 ++-- + test/operator-clear.c | 2 +- + test/operator-source.c | 2 +- + test/path-append.c | 2 +- + test/pattern-getters.c | 2 +- + test/pdf-features.c | 4 ++-- + test/pixman-downscale.c | 4 ++-- + test/pixman-rotate.c | 4 ++-- + test/ps-features.c | 4 ++-- + test/record-extend.c | 2 +- + test/record-mesh.c | 2 +- + test/select-font-no-show-text.c | 2 +- + test/self-copy.c | 2 +- + test/source-clip-scale.c | 2 +- + test/source-clip.c | 2 +- + test/surface-pattern-scale-down.c | 2 +- + test/surface-pattern-scale-up.c | 2 +- + test/surface-pattern.c | 2 +- + test/svg-clip.c | 3 ++- + test/svg-surface.c | 3 ++- + test/trap-clip.c | 2 +- + test/unbounded-operator.c | 2 +- + test/user-font-mask.c | 4 ++-- + test/user-font-proxy.c | 4 ++-- + test/user-font.c | 4 ++-- + test/xcb-snapshot-assert.c | 2 +- + test/xlib-expose-event.c | 2 +- + test/xlib-surface.c | 3 ++- + 41 files changed, 52 insertions(+), 49 deletions(-) + +commit e9a615a2f94697c64a6702c1e3b24c59b156cc71 +Author: Michael Haubenwallner +AuthorDate: Thu Feb 26 16:24:55 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 16:57:09 2015 -0800 + + define _GETDELIM for getline() on AIX + + On AIX 6.1, getdelim() and getline() are not provided by default, + causing a gcc compilation error. With _GETDELIM defined, AIX's stdio.h + header provides definitions for these routines. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=89356 + Reviewed-by: Bryce Harrington + + perf/cairo-perf-report.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit f72bd7c7574fc8fdc1f495f3a50111329851edc5 +Author: Michael Haubenwallner +AuthorDate: Thu Feb 26 15:23:01 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 14:48:28 2015 -0800 + + skip MAP_NORESERVE when unsupported + + Fixes a compilation on AIX ('MAP_NORESERVE' undeclared) + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=89340 + Signed-off-by: Bryce Harrington + + test/cairo-test-trace.c | 4 ++++ + util/cairo-sphinx/sphinx.c | 4 ++++ + 2 files changed, 8 insertions(+) + +commit ac75ab9f30ef10ee5973d42223f4b51acca93333 +Author: Michael Haubenwallner +AuthorDate: Thu Feb 26 14:18:30 2015 +0100 +Commit: Bryce Harrington +CommitDate: Thu Mar 5 12:00:48 2015 -0800 + + fix conflicting types for 'sync' on AIX, bug#89338 + + src/cairo-surface-observer.c | 12 ++++++------ + src/cairo-xlib-surface-shm.c | 4 ++-- + 2 files changed, 8 insertions(+), 8 deletions(-) + +commit 70cc8f250b5669e757b4f044571ba0f71e3dea9e +Author: Andrea Canciani +AuthorDate: Tue Dec 9 16:13:00 2014 +0100 +Commit: Andrea Canciani +CommitDate: Thu Feb 5 15:13:46 2015 +0100 + + quartz: Remove call to obsolete CGFontGetGlyphPath + + CGFontGetGlyphPath was not public and is not available anymore on + modern OSX/iOS systems. The same functionality is available through + the CoreText API since OSX 10.5. + + Based on a patch by Simon Cozens. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84324 + + src/cairo-quartz-font.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit 91f128bf7a1233a7fc2e164f95279987e32a3532 +Author: Massimo Valentini +AuthorDate: Wed Sep 11 18:10:38 2013 +0200 +Commit: Bryce Harrington +CommitDate: Mon Feb 2 16:33:06 2015 -0800 + + win32: Fix crash from win32 surface's image size too small + + Beginning in 1.12, a crash can occur when the win32 surface's image size + does not cover the entire surface (e.g. due to clipping regions). + + This patch enlarges the fallback surface created of the amount + necessary not to write past the end of the DIB. It assumes that + Clip applied to an HDC are clamped to (0,0,width,height) of the HDC. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=53121 + Reviewed-by: Bryce Harrington + + src/win32/cairo-win32-display-surface.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit cca8b1960b0091c53235d9dc4cde8a33010c5bbf +Author: Emanuele Aina +AuthorDate: Tue Dec 16 14:58:55 2014 +0100 +Commit: Andrea Canciani +CommitDate: Tue Jan 20 18:14:52 2015 +0100 + + cairo-trace: Fix duplicated surface push on similar-image + + The current code results in trace lines with the source surface being + pushed on the stack two times instead of one: + + s1 s1 //ARGB32 48 48 similar-image % s2 + + Instead of: + + s1 //ARGB32 48 48 similar-image % s2 + + This greatly confuses later commands when the script was replayed, + causing traces for trivial GTK3 programs to be unplayable, usually + yielding the following error: + "invalid value (typically too big) for the size of the input (surface, pattern, etc.)" + + Drop the duplicated entry from the trace line printed by the + cairo_surface_create_similar_image() override. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73580 + Signed-off-by: Emanuele Aina + + util/cairo-trace/trace.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit ebd23accc8722db838f6db12f7489f16fe6016ce +Author: Uli Schlachter +AuthorDate: Sat Dec 6 17:04:07 2014 +0100 +Commit: Uli Schlachter +CommitDate: Sat Jan 17 20:12:39 2015 +0100 + + xlib-xcb: Don't be lazy and use the real xcb_screen_t + + Signed-off-by: Uli Schlachter + + src/cairo-xlib-xcb-surface.c | 33 ++++++++++++++++++--------------- + 1 file changed, 18 insertions(+), 15 deletions(-) + +commit b47209a03feeed2172f35a6d79ba1176fedd5e17 +Author: Uli Schlachter +AuthorDate: Sat Dec 6 16:04:46 2014 +0100 +Commit: Uli Schlachter +CommitDate: Sat Jan 17 20:11:59 2015 +0100 + + xcb: Query the display's subpixel order via RENDER + + With commit e691d242, the xcb backend started parsing the resources, just like + cairo-xlib does. One behavior from cairo-xlib was missing: If no Xft.rgba + property was specified, cairo-xlib defaults to the screen's subpixel order. + This commit brings that last bit of functionality to cairo-xcb (but currently + disabled due to commit e0c0a673). + + This commits adds a new array to cairo_xcb_connection_t that contains the + subpixel order for each screen. There is also a new member in cairo_xcb_screen_t + which contains the subpixel order of that screen and which is initialized from + the array when the screen is constructed. With this in place, the + resource-parsing code can just pick the subpixel order from the screen if + needed. + + Signed-off-by: Uli Schlachter + + src/cairo-xcb-connection.c | 19 +++++++++++++++++++ + src/cairo-xcb-private.h | 4 +++- + src/cairo-xcb-resources.c | 33 +++++---------------------------- + src/cairo-xcb-screen.c | 16 ++++++++++++++++ + 4 files changed, 43 insertions(+), 29 deletions(-) + +commit 02e4efc961be40d266d4df0acaf3271219529017 +Author: Andrea Canciani +AuthorDate: Mon Dec 22 12:49:00 2014 +0100 +Commit: Andrea Canciani +CommitDate: Sat Jan 3 14:59:51 2015 +0100 + + font: Actually perform destruction of fonts + + Commit 337ab1f8d9e29086bfb4001508b28835b41c6390 introduced delayed + font destruction to overcome a race, but prevented the correct cleanup + of the font cache. + + This caused fonts to stay in the cache and caused a crash in the + api-special-cases (when running the test suite with -f). + + Fixes api-special-cases, + https://bugs.freedesktop.org/show_bug.cgi?id=87567 + + src/cairo-font-face.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 028d286e611d46755bb3d1e9932805de2ec35765 +Author: Chris Wilson +AuthorDate: Wed Dec 31 10:54:43 2014 +0000 +Commit: Chris Wilson +CommitDate: Wed Dec 31 11:01:45 2014 +0000 + + xlib: Bump reference count for recording surface replays + + The snapshot takes a reference to the target recording surface in order + to enable it for use by multiple treads. In order to balance this, the + other two sources of recording surface must also take a reference and + for us to release that reference after the replay. + + Otherwise, we end up with a memory leak: + + ==1== 1,392 bytes in 3 blocks are definitely lost in loss record 1 of 7 + ==1== at 0x4A06BCF: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) + ==1== by 0x4C7042D: _cairo_recording_surface_snapshot (cairo/src/cairo-recording-surface.c:1427) + ==1== by 0x4C842BE: _cairo_surface_snapshot_copy_on_write (cairo/src/cairo-surface-snapshot.c:189) + ==1== by 0x4C7E7E0: _cairo_surface_detach_snapshot (cairo/src/cairo-surface.c:348) + ==1== by 0x4C7E55B: _cairo_surface_detach_snapshots (cairo/src/cairo-surface.c:333) + ==1== by 0x4C7E55B: _cairo_surface_flush (cairo/src/cairo-surface.c:1545) + ==1== by 0x4C7E6CC: _cairo_surface_finish_snapshots (cairo/src/cairo-surface.c:1017) + ==1== by 0x4C7E6CC: cairo_surface_destroy (cairo/src/cairo-surface.c:961) + ==1== by 0x4C625A7: cairo_pattern_destroy (cairo/src/cairo-pattern.c:1131) + ==1== by 0x4C3FAC6: _cairo_gstate_fini (cairo/src/cairo-gstate.c:225) + ==1== by 0x4C3C68C: _cairo_default_context_fini (cairo/src/cairo-default-context.c:75) + ==1== by 0x4C3C708: _cairo_default_context_destroy (cairo/src/cairo-default-context.c:93) + ==1== by 0x43E576: record_get (cairo/test/record-extend.c:158) + ==1== by 0x43E576: record_replay (cairo/test/record-extend.c:173) + ==1== by 0x40E22D: cairo_test_for_target (cairo/test/cairo-test.c:929) + ==1== by 0x40E22D: _cairo_test_context_run_for_target (cairo/test/cairo-test.c:1532) + ==1== by 0x40B6C0: _cairo_test_runner_draw (cairo/test/cairo-test-runner.c:255) + ==1== by 0x40B6C0: main (cairo/test/cairo-test-runner.c:937) + + Reported-by: Massimo Valentini + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87898 + Signed-off-by: Chris Wilson + + src/cairo-xlib-source.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 4a225fca5f121c31ddaa0af80a13bf95a7f21a5b +Author: Andrea Canciani +AuthorDate: Thu Nov 20 17:22:30 2014 +0100 +Commit: Bryce Harrington +CommitDate: Sat Dec 6 17:38:02 2014 -0800 + + test: Free test list + + When running the cairo-test-suite, valgrind reports each of the + registered test as a leak, because they are _list_prepend()'ed, but + the tests list is never _list_free()'d. + + Fixes the following valgrind error: + + malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) + cairo_boilerplate_xmalloc (cairo-boilerplate-system.c:47) + cairo_test_register (cairo-test-runner.c:131) + _cairo_test_runner_register_tests (cairo-test-constructors.c:1112) + main (cairo-test-runner.c:714) + + Signed-off-by: Bryce Harrington + + test/cairo-test-runner.c | 1 + + 1 file changed, 1 insertion(+) + +commit 9806f437b42056124314976f35a2d32cefa508a8 +Author: Andrea Canciani +AuthorDate: Thu Nov 20 17:22:31 2014 +0100 +Commit: Bryce Harrington +CommitDate: Sat Dec 6 17:38:02 2014 -0800 + + test: Release owned pattern + + The pattern created by cairo_pattern_create_rgb() is owned by the + caller, hence it needs to be released. + + Fixes the following valgrind error: + + malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) + _cairo_pattern_create_solid (cairo-pattern.c:605) + _cairo_pattern_create_in_error (cairo-pattern.c:628) + cairo_pop_group (cairo.c:552) + test_cairo_push_group (api-special-cases.c:157) + preamble (api-special-cases.c:1766) + main (cairo-test-runner.c:228) + + Signed-off-by: Bryce Harrington + + test/api-special-cases.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 40201f4b1ab52c85922b2b7ae05dd862159a1aa0 +Author: Uli Schlachter +AuthorDate: Fri Dec 5 14:43:26 2014 +0100 +Commit: Uli Schlachter +CommitDate: Sat Dec 6 10:25:30 2014 +0100 + + tor-scan-converter: Correctly align 64bit types + + On 32bit SPARC the scan converter was causing a SIGBUS due to an unaligned + memory access while accessing an int64_t. This memory accessing was to struct + quorem's rem member. + + This crash occurred because the tor-scan-converter contains its own + implementation of a memory pool. This implementation only guarantees an + alignment of sizeof(void *), which is less than what a 64 bit type requires on + 32bit platforms. This 4 byte alignment is guaranteed, because struct _pool_chunk + (which is the struct that is used for managing free space) contains elements of + that size and so the size of that struct is a multiple of this size as well. + + This problem was introduced with commit 03c3d4b7c15. + + To fix this problem, this commit introduces a int64_t member to struct + _pool_chunk that marks the beginning of the free data space. Thanks to this, the + compiler ensures proper alignment and sizeof(struct _pool_chunk) becomes a + multiple of 8. + + However, previously the end of the struct marked the beginning of the data and + sizeof() was used for correctly calculating offsets to the data section. So, + just adding such a member would work, but would also waste some memory. To avoid + this, this commit also changes the rest of the pool implementation to + accommodate. + + Reported-by: Nicolas Setton + Signed-off-by: Uli Schlachter + Reviewed-by: Bryce Harrington + + src/cairo-tor-scan-converter.c | 38 +++++++++++++++++++++++--------------- + 1 file changed, 23 insertions(+), 15 deletions(-) + +commit 5c82d91a5e15d29b1489dcb413b24ee7fdf59934 +Author: Bryce Harrington +AuthorDate: Wed Dec 3 19:28:15 2014 -0800 +Commit: Bryce Harrington +CommitDate: Fri Dec 5 19:16:43 2014 -0800 + + image: Fix crash in _fill_xrgb32_lerp_opaque_spans + + If a span length is negative don't go out of bounds processing the fill + data. + + Patch thanks to Ilya Sakhnenko on mailing list. + + Signed-off-by: Bryce Harrington + + src/cairo-image-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 56da7adc3c85be0325481ecd23746dc49e60d239 +Author: Hans Breuer +AuthorDate: Thu Oct 16 20:51:07 2014 +0200 +Commit: Bryce Harrington +CommitDate: Thu Nov 20 12:26:52 2014 -0800 + + win32: Fix compilation of 'cairo-path-stroke-traps.c' with MSVC8 + + "The issue here is that Visual Studio 2005+ is quite strict on type + conversions (so it wants code to be clear enough on conversions)." + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84908 + + src/cairo-path-stroke-traps.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 2c5af590ddbb08e0a46b7e37c5f0230b1805cd37 +Author: Bryce Harrington +AuthorDate: Thu Nov 20 12:19:47 2014 -0800 +Commit: Bryce Harrington +CommitDate: Thu Nov 20 12:22:06 2014 -0800 + + Refactor ARRAY_LENGTH macro definitions in test code + + boilerplate/cairo-boilerplate-pdf.c | 2 -- + boilerplate/cairo-boilerplate-private.h | 2 +- + boilerplate/cairo-boilerplate.h | 4 ++++ + perf/cairo-perf.h | 4 ---- + test/any2ppm.c | 2 +- + test/cairo-test.c | 4 ---- + test/cairo-test.h | 4 ---- + 7 files changed, 6 insertions(+), 16 deletions(-) + +commit 7edc5a8844b96862b866901568eb83fa56f4755b +Author: Bryce Harrington +AuthorDate: Fri Nov 14 18:10:16 2014 -0800 +Commit: Bryce Harrington +CommitDate: Thu Nov 20 12:22:06 2014 -0800 + + test: Use ARRAY_LENGTH macro + + test/bug-spline.c | 3 +-- + test/caps-tails-curve.c | 2 +- + test/tiger.c | 2 +- + 3 files changed, 3 insertions(+), 4 deletions(-) + +commit ae608035c7b7133826a608d45e067c3875a1aceb +Author: Adrian Johnson +AuthorDate: Thu Nov 20 10:16:06 2014 +1030 +Commit: Adrian Johnson +CommitDate: Thu Nov 20 10:16:06 2014 +1030 + + pdf-operators: fix bug with RTL text + + bug 86461 + + src/cairo-pdf-operators.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 121f384c0e231c9c5d9c937b216d342bfc7810a6 +Author: Ravi Nanjundappa +AuthorDate: Tue Nov 11 15:07:57 2014 +0530 +Commit: Bryce Harrington +CommitDate: Wed Nov 12 10:38:52 2014 -0800 + + Fix one more warning from check-doc-syntax.sh + + $ ./check-doc-syntax.sh + Checking documentation for incorrect syntax + ./cairo-pattern.c (3342): ERROR: Will invalid doc id (should be 'cairo_...:') + + The proposed changes fixes the warning about the documentation style used in cairo. + + Signed-off-by: Ravi Nanjundappa + + src/cairo-pattern.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a03f2ff72054c9530f98738aac729354a3f56102 +Author: Adam Jackson +AuthorDate: Fri Oct 31 13:21:15 2014 -0400 +Commit: Bryce Harrington +CommitDate: Thu Nov 6 12:56:18 2014 -0800 + + xcb: Don't crash when swapping a 0-sized glyph + + malloc(0) needn't return NULL, and on glibc, doesn't. Then we encounter + a loop of the form do { ... } while (--c), which doesn't do quite what + you were hoping for when c is initially 0. + + Since there's nothing to swap in this case, just bomb out. + + Signed-off-by: Adam Jackson + + src/cairo-xcb-surface-render.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 3cf862f6d973755cd9824c2224fbe0a623c47ff1 +Author: Adam Jackson +AuthorDate: Fri Oct 31 13:21:14 2014 -0400 +Commit: Bryce Harrington +CommitDate: Thu Nov 6 12:56:13 2014 -0800 + + xlib: Don't crash when swapping a 0-sized glyph + + malloc(0) needn't return NULL, and on glibc, doesn't. Then we encounter + a loop of the form do { ... } while (--c), which doesn't do quite what + you were hoping for when c is initially 0. + + Since there's nothing to swap in this case, just bomb out. + + Signed-off-by: Adam Jackson + + src/cairo-xlib-render-compositor.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit adbeb3d53c6c6e8ddcc63988200da4c5c9627717 +Author: Adrian Johnson +AuthorDate: Fri Oct 31 22:43:32 2014 +1030 +Commit: Adrian Johnson +CommitDate: Fri Oct 31 22:55:14 2014 +1030 + + Improve performance of cpu_to_be32 and be32_to_cpu + + By switching to the more common form, gcc and clang emit a single + bswap instruction and truetype subsetting of large fonts runs about + 15% faster. + + src/cairoint.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e4b78424ac82588bcb9b855d5b6d5872050d33f9 +Author: Adrian Johnson +AuthorDate: Fri Oct 31 19:06:42 2014 +1030 +Commit: Adrian Johnson +CommitDate: Fri Oct 31 19:26:05 2014 +1030 + + pdf-operators: only wrap text strings for PS output + + since the PS Document Structing Conventions impose a 255 character + line limit. PDF does not require wrapping. + + pdf-operators is designed to emit the same output for PS and PDF. + Unfortunately some PDF interpreters don't like strings split with + '\\\n' and some PS interpreters don't like strings split with ')('. + So we are forced to make pdf-operators handling string wrapping + differently for PDF and PS. + + Bug 85662 + + src/cairo-pdf-operators-private.h | 4 +++- + src/cairo-pdf-operators.c | 16 ++++++++++------ + src/cairo-pdf-surface.c | 9 ++++++--- + src/cairo-ps-surface.c | 9 ++++++--- + src/cairo-type3-glyph-surface-private.h | 3 ++- + src/cairo-type3-glyph-surface.c | 6 ++++-- + 6 files changed, 31 insertions(+), 16 deletions(-) + +commit b4e218c3e8402e149115a59406796b751118237f +Author: Bryce Harrington +AuthorDate: Tue Oct 21 15:26:34 2014 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 29 15:45:17 2014 -0700 + + Drop the target-specific huge-radial.pdf.*.ref.png images + + These two images are mis-rendered (clearly evident from visual + inspection). By removing them, the test will fall back to the more + general format-specific images, huge-radial.argb32.ref.png and + huge-radial.rgb24.ref.png. + + Note that the huge-radial.pdf tests still fail to pass, but the pdiff + looks more sensible. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66218 + + Signed-off-by: Bryce Harrington + + test/reference/huge-radial.pdf.argb32.ref.png | Bin 177382 -> 0 bytes + test/reference/huge-radial.pdf.rgb24.ref.png | Bin 225358 -> 0 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit f7d0f80d2d880bea6b2fdbff579b21100355c1be +Author: Bryce Harrington +AuthorDate: Wed Oct 29 15:27:19 2014 -0700 +Commit: Bryce Harrington +CommitDate: Wed Oct 29 15:27:19 2014 -0700 + + RELEASING: Be explicit as to which tag is pushed + + RELEASING | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit caa4c9fdeb3aecd9a4288114e75d24ec931cd01b +Author: Ravi Nanjundappa +AuthorDate: Mon Oct 27 10:54:13 2014 +0530 +Commit: Bryce Harrington +CommitDate: Tue Oct 28 22:24:55 2014 -0700 + + Fix warnings from check-doc-syntax.sh + + $ ./check-doc-syntax.sh + Checking documentation for incorrect syntax + ./cairo-pattern.c (3346): ERROR: Will bad line: ' */' + ./cairo-pattern.c (3346): ERROR: Will documentation comment not closed with **/ + ./cairo-pattern.c (3422): ERROR: _cairo_pattern_sampled_area invalid doc id (should be 'cairo_...:') + + The warnings are about the documentation style used in cairo + + Signed-off-by: Ravi Nanjundappa + + src/cairo-pattern.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f9b65ae1fc91bc558a01c2ad7be5a121c6f10818 +Author: Adrian Johnson +AuthorDate: Tue Oct 21 22:35:12 2014 +1030 +Commit: Adrian Johnson +CommitDate: Tue Oct 21 22:42:34 2014 +1030 + + build: fix regression on mingw + + 7cfebce1 removed the filename extension for executables. + + Patch from http://sourceforge.net/p/inkscape/mailman/message/32939144/ + + Bug 85120 + + build/aclocal.float.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2de69581c28bf115852037ca41eba13cb7335976 +Author: Massimo Valentini +AuthorDate: Sun Oct 19 09:19:10 2014 +0200 +Commit: Chris Wilson +CommitDate: Sun Oct 19 12:47:23 2014 +0100 + + tor-scan-converter: can't do_fullrow when intersection in row + 0.5subrow + + the active edges list must be left sorted at the next possible use + and since full_row does not deal with intersections it is not usable + when there is an intersection in the top half of the next row first + subrow + + Reported-and-tested-by: Matthew Leach + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85151 + Reviewed-by: Chris Wilson + + src/cairo-tor-scan-converter.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 51892e91d40175d790541ac7f2e5706648649a5e +Author: Bryce Harrington +AuthorDate: Sat Oct 18 19:10:32 2014 -0700 +Commit: Bryce Harrington +CommitDate: Sat Oct 18 19:10:32 2014 -0700 + + Revert "Add execution bit for make-cairo-test-constructors.sh" + + This reverts commit 5c17bf1a33b8e76edeb23121342e0f163fe9d6ad. + + Script is sourced in the makefile, no need for +x. + + test/make-cairo-test-constructors.sh | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 1013d18a01aa10dadb8996b9a327eb39b219acbd +Author: Adrian Johnson +AuthorDate: Sun Oct 19 12:08:55 2014 +1030 +Commit: Adrian Johnson +CommitDate: Sun Oct 19 12:08:55 2014 +1030 + + pdf: fix compiler warning + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 99a35dd273f3deb4ae54310f1ed1746bfd9fae70 +Author: Adrian Johnson +AuthorDate: Sun Oct 19 11:34:34 2014 +1030 +Commit: Adrian Johnson +CommitDate: Sun Oct 19 11:54:25 2014 +1030 + + CFF: Fix unaligned access + + Debian bug 712836 reported bus errors in cff subsetting when + running on a sparc. This is because unlike truetype, all data + in the compact font format is not aligned. + + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712836 + + src/cairo-cff-subset.c | 35 +++++++++++++++++++---------------- + src/cairo-image-info.c | 32 +++++++++++++------------------- + src/cairoint.h | 26 ++++++++++++++++++++++++++ + 3 files changed, 58 insertions(+), 35 deletions(-) + +commit 5c17bf1a33b8e76edeb23121342e0f163fe9d6ad +Author: Bryce Harrington +AuthorDate: Fri Oct 17 12:04:56 2014 -0700 +Commit: Bryce Harrington +CommitDate: Fri Oct 17 15:50:31 2014 -0700 + + Add execution bit for make-cairo-test-constructors.sh + + This is referenced in the Makefile but not set as executable + + test/make-cairo-test-constructors.sh | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit f05e9332b389d33b5ae654e04576ccf2f389786f +Author: Adrian Johnson +AuthorDate: Fri Oct 17 22:04:39 2014 +1030 +Commit: Adrian Johnson +CommitDate: Fri Oct 17 22:04:39 2014 +1030 + + Update mime type documentation. + + src/cairo-surface.c | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +commit 9102c0b0af808e52908e4f03bd9db479339c7b7e +Author: Bryce Harrington +AuthorDate: Thu Oct 16 11:41:40 2014 -0700 +Commit: Bryce Harrington +CommitDate: Thu Oct 16 11:41:40 2014 -0700 + + RELEASING: Update tags push command + + I couldn't get the documented command to do diddly. Running + `git push --tags` achieved what I think was intended. + + RELEASING | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 92bc5376a82b618d11451c1ca088fbb0d37ca270 +Author: Bryce Harrington +AuthorDate: Mon Oct 13 19:57:09 2014 -0700 +Commit: Bryce Harrington +CommitDate: Mon Oct 13 19:57:09 2014 -0700 + + Start 1.14.1 development + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -- cgit v1.2.1