⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.124
Server IP:
50.28.103.30
Server:
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
thread-self
/
root
/
usr
/
share
/
doc
/
cairo-devel
/
Edit File: ChangeLog
# Generated by configure. Do not edit. 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: 6b05938 a18c0de 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