Commit graph

12963 commits

Author SHA1 Message Date
Alan Coopersmith
78f7dbcba8 Fix cairo-perf-print build on Solaris
Adds include of <termios.h> if system has it, in order to fix:

../perf/cairo-perf-print.c: In function ‘report_print’:
../perf/cairo-perf-print.c:62:28: error: storage size of ‘ws’ isn’t known
   62 |             struct winsize ws;
      |                            ^~
../perf/cairo-perf-print.c:64:26: error: ‘TIOCGWINSZ’ undeclared
 (first use in this function)
   64 |             if(ioctl(fd, TIOCGWINSZ, &ws) == 0 ) {
      |                          ^~~~~~~~~~

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-10-13 11:07:44 -07:00
Alan Coopersmith
936f20c37e Fix pdf-structure test build on Solaris
Adds include of <sys/wait.h> if system has it, in order to fix:

../test/pdf-structure.c: In function ‘check_pdf’:
../test/pdf-structure.c:551:21: error: implicit declaration of function
 ‘WIFEXITED’ [-Wimplicit-function-declaration]
  551 |                     WIFEXITED (ret) ? WEXITSTATUS (ret) : -1);
      |                     ^~~~~~~~~
../test/pdf-structure.c:551:39: error: implicit declaration of function
 ‘WEXITSTATUS’ [-Wimplicit-function-declaration]
  551 |                     WIFEXITED (ret) ? WEXITSTATUS (ret) : -1);
      |                                       ^~~~~~~~~~~

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-10-13 11:01:59 -07:00
Adrian Johnson
21e6b2c6ad Merge branch 'feature/bugfix-include-ft-color' into 'master'
cairo-ft-private.h: fix missing FT_Color error

Closes #792

See merge request cairo/cairo!597
2024-10-03 22:04:01 +00:00
Thomas Devoogdt
9607e19a9e
cairo-ft-private.h: fix missing FT_Color error
In file included from ../src/cairo-colr-glyph-render.c:37:
../src/cairo-ft-private.h:87:30: error: unknown type name 'FT_Color'
   87 |                              FT_Color               *palette,
      |                              ^~~~~~~~

Fixes https://gitlab.freedesktop.org/cairo/cairo/-/issues/792

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
2024-09-20 15:26:21 +02:00
Emmanuele Bassi
b9eed915f9 Merge branch 'issue-870' into 'master'
cff: Don't fail if no local subs

Closes #870

See merge request cairo/cairo!595
2024-09-12 23:36:36 +00:00
Adrian Johnson
f19e2fe080 cff: Don't fail if no local subs
Fixes: #870
2024-09-13 06:29:25 +09:30
Tim-Philipp Müller
62d99c8a65 Merge branch 'hgr/lzo_option' into 'master'
meson: expose lzo as a meson option

See merge request cairo/cairo!590
2024-09-10 15:14:58 +00:00
Håvard Graff
c1748e79f0 meson: expose lzo as a meson option 2024-09-10 16:26:21 +02:00
Uli Schlachter
65a29e787a Merge branch 'landing-page' into 'master'
Add a landing page for GitLab pages

See merge request cairo/cairo!594
2024-09-06 16:06:20 +00:00
Uli Schlachter
781cf20bf9 Merge branch 'lzo' into 'master'
Fix include paths for LZO headers

See merge request cairo/cairo!583
2024-09-06 15:27:02 +00:00
Federico Mena Quintero
1ed8bb6543 Oops, don't list the analysis stage twice 2024-09-05 10:13:53 -06:00
Federico Mena Quintero
3f709d0050 Add a landing page for GitLab pages
GitLab pages for cairo appear in
https://cairo.pages.freedesktop.org/cairo/ but there is nothing there
right now, so it gives a 404.  Only
https://cairo.pages.freedesktop.org/cairo/coverage works so far.

So, add public/index.html as a minimal landing page.  My intention is
to link other things from there - an HTMLized report of the test
suite, a development guide, things like that.
2024-09-05 10:09:26 -06:00
Benjamin Gilbert
9735309da6 Fix include paths for LZO headers
lzo2's pkg-config file has always specified "Cflags: -I${includedir}/lzo".
Including <lzo/lzo2a.h> happens to work if ${includedir} is already on the
header search path, e.g. it's /usr/include.  However, if lzo2 is in an
unusual location and we're depending on pkg-config to tell us where it is,
we'll end up looking for ${includedir}/lzo/lzo/lzo2a.h and failing the
build:

    util/cairo-script/cairo-script-file.c:45:10: fatal error: 'lzo/lzo2a.h' file not found

Fix the include paths.
2024-09-04 22:30:41 -07:00
Adrian Johnson
39ba22d7e6 Merge branch 'coverage' into 'master'
Add CI jobs for static analysis and a test coverage report

See merge request cairo/cairo!574
2024-09-02 11:13:59 +00:00
Emmanuele Bassi
ad53e74fd2 Merge branch 'ebassi/release-1-18-2' into 'master'
Release Cairo 1.18.2

See merge request cairo/cairo!581
2024-09-01 14:02:38 +00:00
Emmanuele Bassi
e90b49ed50 Post-release version bump to 1.18.3 2024-09-01 14:21:28 +01:00
Emmanuele Bassi
200441e685 Release Cairo 1.18.2 2024-09-01 14:09:23 +01:00
Federico Mena Quintero
dd4da92782 Keep artifacts for the static-scan job 2024-08-27 21:20:53 -06:00
Federico Mena Quintero
acb5e2e80a CI: Add a job for static analysis
We add this in a new 'analysis' stage in the CI, which is where we'll
put jobs for sanitizers, test coverage reports, etc.
2024-08-27 21:20:00 -06:00
Federico Mena Quintero
e6e76c5c25 Move the analysis stage to just before deploy 2024-08-27 21:18:41 -06:00
Federico Mena Quintero
2366646d93 Deploy the coverage report to gitlab pages
It should appear in https://cairo.pages.gitlab.freedesktop.org/coverage
2024-08-27 21:18:40 -06:00
Federico Mena Quintero
744f4d75b3 CI: Add a basic test coverage job
Later we'll add one coverage job per backend, and aggregate all of the
results at the end for the coverage report.
2024-08-27 21:18:10 -06:00
Federico Mena Quintero
b5c6ef2853 CI: Install rust and grcov
The Rust toolchain is so that we can build and install grcov, which is
Mozilla's tool to aggregate test coverage data into a report.
2024-08-27 21:15:38 -06:00
Uli Schlachter
bbf385d35c Merge branch 'remove-win32-readme' into 'master'
Remove README.win32

See merge request cairo/cairo!578
2024-08-10 07:27:51 +00:00
Adrian Johnson
b5b1c8505a Remove README.win32
These instructions are for the autotools build. The Meson build does
not require special instructions for Windows.
2024-08-10 14:36:23 +09:30
Uli Schlachter
43e08aed8b Merge branch 'fix_glyph_path' into 'master'
Fix cairo_glyph_path() early clipping

See merge request cairo/cairo!576
2024-08-02 16:57:48 +00:00
Heiko Lewin
d8c1db11dd
Fix cairo_glyph_path() early clipping 2024-07-26 08:18:20 +02:00
Adrian Johnson
2d7fcf17f7 Merge branch 'msys-clang-fix' into 'master'
Fix MSYS clang build error

See merge request cairo/cairo!575
2024-07-25 22:18:50 +00:00
Adrian Johnson
1d20d8f476 meson: use has_define() to check if define exists 2024-07-25 08:27:37 +09:30
Adrian Johnson
b69d569c3c Windows should always use win32 atomics
instead of gcc builtins.
2024-07-25 08:25:57 +09:30
Adrian Johnson
b99f6ff534 Fix MSYS clang build error
../src/cairo-atomic-private.h:210:43: warning: incompatible pointer types passing 'void **' to param
eter of type 'cairo_atomic_intptr_t *' (aka 'long long *') [-Wincompatible-pointer-types]
  210 |     return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
      |                                           ^~~~~~~~~
../src/cairo-atomic-private.h:210:54: error: incompatible pointer to integer conversion passing 'voi
d *' to parameter of type 'cairo_atomic_intptr_t' (aka 'long long') [-Wint-conversion]
  210 |     return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
      |                                                      ^~~~
../src/cairo-atomic-private.h:220:43: warning: incompatible pointer types passing 'void **' to param
eter of type 'cairo_atomic_intptr_t *' (aka 'long long *') [-Wincompatible-pointer-types]
  220 |     (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
      |                                           ^~~~~~~~~
../src/cairo-atomic-private.h:220:54: error: incompatible pointer to integer conversion passing 'voi
d *' to parameter of type 'cairo_atomic_intptr_t' (aka 'long long') [-Wint-conversion]
  220 |     (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
      |                                                      ^~~~
2024-07-25 08:23:46 +09:30
Federico Mena Quintero
5f1fc5fa00 CI: install some more llvm/clang packages for coverage and sanitizers 2024-07-24 14:32:57 -06:00
Adrian Johnson
0275440533 Merge branch 'bugfix/compile-without-cpp' into 'master'
meson: only require cpp for windows

See merge request cairo/cairo!573
2024-07-18 22:32:13 +00:00
Thomas Devoogdt
5dc457fa92 meson: only require cpp for windows
Allow to compile meson without c++ toolchain.

Fixes:
 - https://lore.kernel.org/buildroot/20240717200926.1a7db2a1@windsurf/

Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
2024-07-18 10:29:19 +00:00
Adrian Johnson
5338d3f50d Merge branch 'clang-build' into 'master'
Add clang build to CI

See merge request cairo/cairo!572
2024-07-05 23:10:13 +00:00
Adrian Johnson
86a6a3a2ec offsetof is ANSI C
Fixes

  166 |     A = csi_container_of (link, csi_blob_t, list);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../util/cairo-script/cairo-script-private.h:132:33: note: expanded from macro 'csi_container_of'
  132 |     (type *) ((char *) mptr__ - offsetof (type, member)); \
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
../util/cairo-script/cairo-script-private.h:128:37: note: expanded from macro 'offsetof'
  128 |     ((char *) &((type *) 0)->member - (char *) 0)
      |                                     ^ ~~~~~~~~~~
2024-07-06 07:24:44 +09:30
Adrian Johnson
f4096fc26b Add clang build to CI 2024-07-06 07:12:59 +09:30
Adrian Johnson
19c15cedbf Merge branch 'various-fixes' into 'master'
Various fixes

Closes #851, #850, #849, #848, #847, #846, and #845

See merge request cairo/cairo!570
2024-06-26 22:15:15 +00:00
Adrian Johnson
64301c6105 doc: Ensure @ in "@cairo:" is escaped when referring the the font family name
Fixes: #851
2024-06-27 07:07:22 +09:30
Adrian Johnson
c8ce9f1900 Check return value of _cairo_boxes_copy_to_clip()
Fixes: #850
2024-06-27 07:07:22 +09:30
Adrian Johnson
545073d7ed Ensure extent_y_scale is initialized
Fixes: #849
2024-06-27 07:07:22 +09:30
Adrian Johnson
c235bc4dee Fix bug in cairo-trace when writing A8 images
Fixes: #848
2024-06-27 07:07:22 +09:30
Adrian Johnson
fff7b8f392 Make Coverity happy
Fixes: #847
2024-06-27 07:07:22 +09:30
Adrian Johnson
2f671582ee Ensure face variables in cairo_stroker_t are initialized
Fixes: #846
2024-06-27 07:07:22 +09:30
Adrian Johnson
6967beb24e ps: fix max form size
Fixes: #845
2024-06-27 07:07:22 +09:30
Adrian Johnson
16dd5cd4c2 Merge branch 'wip/otte/xlib-overflow' into 'master'
xlib: Enlarge array for new formats

See merge request cairo/cairo!567
2024-06-24 21:26:26 +00:00
Adrian Johnson
409a6b5229 Merge branch 'master' into 'master'
Fix a memory leak

See merge request cairo/cairo!568
2024-06-24 21:18:07 +00:00
Adrian Johnson
bccc70439e Merge branch 'uninitialized-var' into 'master'
Avoid an uninitialized use

See merge request cairo/cairo!569
2024-06-24 21:16:38 +00:00
Matthias Clasen
f1d1f0ac77 Avoid an uninitialized use
Coverity complained that val may be used uninitialized in this
function, and I think it is right in this case.
2024-06-24 14:25:32 -04:00
Matthias Clasen
dd40d34fee Fix a memory leak
Coverity flagged this minor memory leak.
2024-06-24 14:17:00 -04:00