# 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(-)