Commit graph

12298 commits

Author SHA1 Message Date
Feysh INC
d7cb417e0e Fix a use after free in _cairo_svg_surface_create_for_stream_internal
When `_cairo_svg_surface_create_for_document()` failed, it will free the
`document` by `_cairo_svg_document_destroy()`. But after `_cairo_svg_surface_create_for_document` return a error status, the `document` is still used and destoryed by `_cairo_svg_document_destroy()`.

We remove the redundant `_cairo_svg_document_destroy()` in `_cairo_svg_surface_create_for_stream_internal` to avoid this bug.

This fixes #561.

Signed-off-by: Feysh INC <opensource@feysh.com>
2022-04-22 21:24:09 +08:00
Uli Schlachter
a934fa66db Merge branch 'dwrite-fixes' into 'master'
DWrite fixes

See merge request cairo/cairo!311
2022-04-19 16:17:26 +00:00
Adrian Johnson
e15a1e9a06 Fix mingw warning
it doesn't like '%lld' in snprintf
2022-04-19 19:58:44 +09:30
Adrian Johnson
90e6f2a9f7 DWrite: Replace manual or missing ref counting with RefPtr 2022-04-19 19:58:44 +09:30
Adrian Johnson
3998a79cc2 DWrite: check 'head' table as well as 'name' when comparing fonts
There may be different versions of fonts with the same name. As an
additional check, compare the 'head' table wich contains the checksum
for the font.

Also, load the DWrite tables directly to avoid the memcpy in
load_truetype_table.
2022-04-19 19:58:44 +09:30
Adrian Johnson
2b355954a8 DWrite: ensure all private functions are static 2022-04-19 19:58:44 +09:30
Adrian Johnson
655a8a40a7 Dwrite glyph_path fails when the font matrix is not a positive uniform scale 2022-04-19 19:58:44 +09:30
Adrian Johnson
75f0ecb34e Fix Win64 compile warning 2022-04-19 19:58:44 +09:30
Adrian Johnson
1cc23206bd Fix scaled_glyph hash lookup on Win64
This was failing due to sizeof(uintptr_t) != sizeof(long) on Win64
2022-04-19 19:58:44 +09:30
Adrian Johnson
6454f65ec5 Allow the C++ code in dwrite-font to use the debug functions 2022-04-19 19:58:44 +09:30
Adrian Johnson
b4014daedf DWrite: Use twin font if default font not found
If the default font is not found, return CAIRO_INT_STATUS_UNSUPPORTED
to cause _cairo_toy_font_face_create_impl_face to create the Twin user
font fallback.
2022-04-19 19:58:44 +09:30
Adrian Johnson
672c92e19c Fix DWrite error handling
- Fix a few cases of incorrect error handling
- Use a consistent style and variable names for errors
2022-04-19 19:58:40 +09:30
Adrian Johnson
d2f65a7306 Dwrite: implement is_synthetic() 2022-04-19 19:56:32 +09:30
Adrian Johnson
0321ac99a4 cairoint.h: update some comments 2022-04-19 19:48:46 +09:30
Uli Schlachter
0e1cffe364 Merge branch 'ctype' into 'master'
Replace use of ctype functions with internal version where only ASCII chars are used

See merge request cairo/cairo!310
2022-04-15 10:46:05 +00:00
Adrian Johnson
5b18aeffbb Replace use of ctype functions with internal version where only ASCII chars are used
In !309 Taylor R Campbell found a number of instances of ctype
incorrectly passed a signed char. In many cases, where only ASCII
characters are used, the code should have been using the cairo version
of the ctype function to avoid locale issues.
2022-04-09 22:08:57 +09:30
Uli Schlachter
20a54465c5 Merge branch 'issue-537' into 'master'
Add CAIRO_DEBUG_PS_NO_DATE env var to remove date from PS output

Closes #537

See merge request cairo/cairo!308
2022-04-05 15:48:53 +00:00
Adrian Johnson
092da8a997 Add CAIRO_DEBUG_PS_NO_DATE env var to remove date from PS output
Fixes #537
2022-04-05 20:04:47 +09:30
Uli Schlachter
688164abaa Merge branch 'issue-551' into 'master'
Fix type1-subset indexing

Closes #551

See merge request cairo/cairo!306
2022-04-03 11:21:19 +00:00
Adrian Johnson
ff4fd6f960 Fix type1-subset indexing
Fixes #551
2022-04-03 20:06:10 +09:30
Uli Schlachter
521a3a7bdb Merge branch 'doxygen-typos' into 'master'
Fix typos in doxygen and source comments

See merge request cairo/cairo!304
2022-03-29 13:46:00 +00:00
luz paz
25d588e6c0 Fix typos in doxygen and source comments 2022-03-28 16:43:03 -04:00
Uli Schlachter
4931e44f23 Merge branch 'dwrite-toy-font' into 'master'
Ensure DWrite toy fonts can not fail if font name not found

See merge request cairo/cairo!302
2022-03-21 19:13:11 +00:00
Adrian Johnson
136bf8c191 Ensure DWrite toy fonts can not fail if font name not found 2022-03-22 04:54:05 +10:30
Uli Schlachter
359afa3e88 Merge branch 'meson-fixes' into 'master'
autotools: Dist some files required for meson

See merge request cairo/cairo!303
2022-03-20 17:32:42 +00:00
David King
93f13ced85 autotools: Dist some files required for meson
https://gitlab.freedesktop.org/cairo/cairo/-/issues/547
2022-03-20 16:37:49 +00:00
Emmanuele Bassi
ad3bace256 Post-release version bump to 1.17.7 2022-03-18 18:49:24 +00:00
Emmanuele Bassi
b43e7c6f3c Release Cairo 1.17.6 (snapshot) 2022-03-18 18:40:07 +00:00
Emmanuele Bassi
8344dc1136 build: Avoid SSHing into a host during release checks
We really don't need to have SSH access if we're just checking for the
integrity of the next release. We can simply check if a specially
crafted file linking to the latest release is present.
2022-03-18 18:40:07 +00:00
Adrian Johnson
1e5a98b9cb Merge branch 'malloc-hook2' into 'master'
Fix warning in malloc-stats.c

See merge request cairo/cairo!297
2022-03-12 01:24:14 +00:00
Adrian Johnson
ec54603366 Merge branch 'issue-263-2' into 'master'
Fix font count in Inkscape's win32 pdf export

See merge request cairo/cairo!296
2022-03-09 09:36:35 +00:00
Adrian Johnson
9bb2036369 Fix warning
../util/malloc-stats.c:295:1: warning: no previous declaration for ‘malloc_stats’ [-Wmissing-declarations]
2022-03-09 19:43:48 +10:30
Nathan Lee
82119ec2f3 Fix font count in Inkscape's win32 pdf export
Fix win32 hash comparison, where unsigned long is shorter than
uintptr_t. Follow-up to 9fbf427548.
2022-03-09 12:43:42 +11:00
Adrian Johnson
777d35fa87 Merge branch 'malloc-hook' into 'master'
Replace deprecated malloc_hook

See merge request cairo/cairo!295
2022-03-08 21:22:25 +00:00
Adrian Johnson
d2f1827cde Replace deprecated malloc_hook 2022-03-09 06:58:28 +10:30
Adrian Johnson
1c0a9aac01 Merge branch 'dwrite-docs' into 'master'
DWrite font docs

See merge request cairo/cairo!294
2022-03-07 07:40:19 +00:00
Adrian Johnson
989d368dc5 DWrite font docs 2022-03-05 16:56:56 +10:30
Adrian Johnson
135327c112 Merge branch 'win32-color-fonts' into 'master'
Windows color fonts

See merge request cairo/cairo!244
2022-03-05 03:54:58 +00:00
Uli Schlachter
1fee5ac985 Merge branch 'cairo542' into 'master'
Re-enable windows backends in autotool

Closes #542

See merge request cairo/cairo!291
2022-03-01 11:03:30 +00:00
Nathan Lee
baf8a8cfc7 Re-enable windows backends in autotool
AC_LANG_SOURCE only takes one argument, ignored the others.

Closes #542
2022-03-01 20:54:16 +11:00
Emmanuele Bassi
1195977d16 Merge branch 'remove-unused-sym' into 'master'
build: Remove unused DirectFB bits on Windows

See merge request cairo/cairo!288
2022-02-27 19:12:07 +00:00
Adrian Johnson
fa3a1bca7d Remove the extra API from the mozilla DWrite 2022-02-27 20:40:52 +10:30
Adrian Johnson
5635c75a2c dwrite: add color font support 2022-02-27 20:20:24 +10:30
Adrian Johnson
fdf2a9b4c0 dwrite_font param is not used 2022-02-27 15:44:58 +10:30
Adrian Johnson
7e644409ea Fix dwrite toy fonts 2022-02-27 15:44:58 +10:30
Adrian Johnson
fa76ebec03 Fix some warnings and use _cairo_malloc where applicable 2022-02-27 15:44:58 +10:30
Adrian Johnson
28ce8463af Fix check doc errors 2022-02-27 15:44:58 +10:30
Adrian Johnson
ed36d85bf6 Fix msvc c++ compile error 2022-02-27 15:44:58 +10:30
Adrian Johnson
90ca635472 Import win32 dwrite font backend from
https://hg.mozilla.org/mozilla-central/file/7338d7d940913147f8a1b1e8bd2b25ab255f4373/gfx/cairo/cairo/src

and add to the meson build. I've omitted the
cairo_surface_set_subpixel_antialiasing() API and its use in quartz
and dwrite. Not sure if that is needed.

It compiles. Not tested.
2022-02-27 15:44:58 +10:30
Adrian Johnson
1a799577b2 Merge branch 'issue-526' into 'master'
pdf: ensure urls and filename strings are correctly encoded

Closes #526

See merge request cairo/cairo!266
2022-02-27 03:51:50 +00:00