commit d9aaea0c1e1484c632e1a6735c6ecc961c4b032b Author: Bryce Harrington Date: Wed Sep 19 14:06:21 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 Date: Fri Aug 24 10:17:03 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 Date: Fri Sep 14 11:31:30 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 Date: Fri Sep 14 10:34:24 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 Date: 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 Date: Thu Mar 8 17:50:43 2018 -0600 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 Date: Thu Mar 8 18:23:47 2018 -0600 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 Date: Thu Mar 8 15:44:40 2018 -0600 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 Date: Thu Mar 8 13:27:38 2018 -0600 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 Date: Tue Feb 27 17:44:03 2018 -0600 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 Date: 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 Date: Thu Aug 16 20:12:12 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 Date: Thu Aug 16 18:59:32 2018 -0700 build: Sp. fix build/Makefile.am.gtk-doc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2cf141f6905b5bfd02bd166ed53b745112804d33 Author: Bryce Harrington Date: Thu Aug 16 18:39:40 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 Date: Mon Jul 16 13:54:45 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 Date: Tue Jun 12 16:04:03 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 Date: Tue Jun 12 12:34:48 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 Date: Tue Jun 12 17:18:58 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 Date: Tue Jun 12 17:06:13 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 Date: Tue Jun 12 15:08:31 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 Date: Tue Jun 12 14:23:40 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 Date: Wed Jun 6 11:06:18 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 Date: Wed Jun 6 10:32:37 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 Date: Wed Jun 6 09:30:00 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 Date: 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 Date: 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 Date: Fri May 18 11:39:33 2018 +0200 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 Date: 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 Date: Sat Apr 28 22:27:01 2018 +0300 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 Date: Sat Apr 28 22:27:00 2018 +0300 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 Date: Sat Apr 28 22:26:59 2018 +0300 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 Date: 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 Date: 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 Date: Sat Jul 8 09:28:03 2017 +0930 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 Date: 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(-)