Emmanuele Bassi
a4d5a24d60
Merge branch 'fix-msc-ver-compare' into 'master'
...
Check if _MSC_VER macro is defined
See merge request cairo/cairo!611
2025-07-14 14:42:26 +00:00
Emmanuele Bassi
6ac5348308
The GDI coordinate system is inverted compared to cairo's here, so the
...
delta-y value needs to be negated, otherwise glyph runs with non-zero
y-advances will shift in the wrong direction.
See mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=1962816 and
earlier https://bugzilla.mozilla.org/show_bug.cgi?id=454098 where this was
first discovered & fixed, but unfortunately was not upstreamed at that
time.
2025-07-14 14:41:40 +00:00
Jonathan Kew
503505666f
Fix sign of delta-y for ExtTextOutW
2025-07-14 14:41:40 +00:00
Luca Bacci
c7a3e6c519
Check if _MSC_VER macro is defined
...
Original patch from MSYS2:
https://github.com/msys2/MINGW-packages/blob/36dd8e0bdf/mingw-w64-cairo/0030-ucrt-clang-fixes.patch
2025-07-14 15:53:52 +02:00
Luca Bacci
b9bab3defb
Readme: Remove leftover mention of Windows 2000
...
We support Windows Vista or newer
2025-07-14 15:52:40 +02:00
Uli Schlachter
2f21b3874c
Merge branch 'fix-clipping-crash' into 'master'
...
Fix a crash in the clipping code
See merge request cairo/cairo!622
2025-07-14 13:01:46 +00:00
Uli Schlachter
55cb75c4df
Merge branch 'winsdk_26100_fix' into 'master'
...
Add check for clang to cairo attribute handling code
See merge request cairo/cairo!612
2025-07-05 09:02:29 +00:00
Tim-Philipp Müller
217501df9c
Merge branch 'fix-init-once-complete-check' into 'master'
...
Fix check for InitOnceComplete failure
See merge request cairo/cairo!631
2025-07-02 16:13:29 +00:00
Luca Bacci
76a0978d7b
Fix check for InitOnceComplete failure
...
...also include <windows.h>
Fixes ff4f2f43
2025-07-02 13:26:00 +02:00
Ryan VanderMeulen
ef42ed0ec8
Add check for clang to cairo attribute handling code
2025-07-01 12:14:08 -04:00
Tim-Philipp Müller
0bf0265009
Merge branch 'compiler-features' into 'master'
...
Rework compiler features detection
See merge request cairo/cairo!627
2025-07-01 12:32:05 +00:00
Tim-Philipp Müller
b09fe42db5
Merge branch 'ci-update-for-removal-of-old-intel-mac-runners' into 'master'
...
ci: remove macos job that used ancient intel mac mini runners
See merge request cairo/cairo!630
2025-06-25 11:00:33 +00:00
Tim-Philipp Müller
1fa0aebad1
ci: remove macos job that used ancient intel mac mini runners
...
The old intel mac mini runners are being retired and are no
longer available.
A job that uses the new arm64 mac runners will be added in !498 .
2025-06-25 11:14:17 +01:00
Tim-Philipp Müller
abb37e2d02
Merge branch 'fixes' into 'master'
...
Win32: Fix init once condition
See merge request cairo/cairo!628
2025-06-19 09:03:09 +00:00
Luca Bacci
d4f1ba74d0
Win32: Fix init once condition
...
Fixes !626
2025-06-19 10:15:37 +02:00
Tim-Philipp Müller
3ffb6d5c07
Merge branch 'win32-fixes' into 'master'
...
Win32 Fixes
Closes #897
See merge request cairo/cairo!626
2025-06-16 17:15:07 +00:00
Luca Bacci
51be2591fe
Meson: Define _CRT_SECURE_NO_WARNINGS when compiling with MSVC
2025-06-16 19:10:07 +02:00
Luca Bacci
481c6c78bd
Meson: Suppress warning C5286 on MSVC
...
This happens when converting _cairo_status to _cairo_int_status:
warning C5286: implicit conversion from enum type '_cairo_int_status' to
enum type '_cairo_status'; use an explicit cast to silence this warning
2025-06-16 19:01:58 +02:00
Luca Bacci
cc51930a32
Meson: Add arguments for both C and C++ compilation
...
C++ compilation is used on Windows
2025-06-16 18:58:00 +02:00
Luca Bacci
6989158f4c
Drop support for very old GCC versions
...
They don't support C11 anyway. Additionally, CLang defines a very
conservative __GNUC__ value (which is also configurable via the
-fgnuc-version= command-line argument)
2025-06-16 18:52:39 +02:00
Luca Bacci
ff4f2f4301
Win32: Implement init_once with InitOnceBeginInitialize / InitOnceComplete
2025-06-16 18:50:13 +02:00
Luca Bacci
ec2e879e0d
Meson: Add comment about atomic ops on Windows
2025-06-16 18:49:36 +02:00
Luca Bacci
ee554c8610
DWrite: Fix switch for grid-fit mode
...
Ooops!
2025-06-16 17:52:15 +02:00
Luca Bacci
d9a11c3736
Win32: Use cairo_atomic_once_t to initialize TLS slot
...
We were using the double-checked locking pattern, which requires
memory fences to be safe on architectures with weak memory
guarantess (e.g ARM64)
Fixes https://gitlab.freedesktop.org/cairo/cairo/-/issues/897
2025-06-16 17:51:53 +02:00
Matthias Clasen
1d3347a690
Fix a crash in the clipping code
...
When cairo_is_all_clipped return true, we must not attempt
to change any of the clip fields, since it is pointing to
the static const __cairo_clip_all.
Moving the check for ->region into the 'if' is fine, since
it will always be NULL for _cairo_clip_all.
This was causing a crash in inkscape, see
https://gitlab.com/inkscape/inkscape/-/issues/5631
2025-05-28 18:12:16 -04:00
Uli Schlachter
a3ca983ec3
Merge branch 'cm/fix-uaf-warning' into 'master'
...
xcb: Fix a -Wuse-after-free=3 warning with GCC
Closes #898
See merge request cairo/cairo!623
2025-05-27 16:02:14 +00:00
correctmost
a1c31f5ed5
xcb: Fix a -Wuse-after-free=3 warning with GCC
...
Closes #898
2025-05-26 21:20:15 -04:00
Uli Schlachter
2e2080247f
Merge branch 'fix-symbol-interposition' into 'master'
...
Fix cairo-fdr and cairo-trace
See merge request cairo/cairo!608
2025-05-01 05:57:15 +00:00
Tim-Philipp Müller
7fd0cd0a9c
Merge branch 'alatiera/android-image-test' into 'master'
...
ci: update the android CI image
See merge request cairo/cairo!614
2025-03-26 11:45:58 +00:00
Tim-Philipp Müller
20503ecec3
ci: drop placeholder-job tags from image jobs
2025-03-26 10:24:11 +00:00
Jordan Petridis
8dc09a1c48
ci: Update rust version
2025-03-26 10:18:13 +00:00
Jordan Petridis
0826837e4a
ci: Install android toolchain into our own image
...
Previously we were using a prebuilt image from
gstreamer, but now we can copy what's needed and build
our own image with ci-templates.
2025-03-26 10:18:13 +00:00
Jordan Petridis
3a3771f862
ci: Update the android CI image
...
Switch to using the gstreamer/cerbero image that
has NDK installed, until we add the android toolchain
to our image.
Followup to 92dde935d4
2025-03-26 10:18:13 +00:00
Jordan Petridis
6dd779677e
build: Update wrap files
2025-03-26 10:18:13 +00:00
Jordan Petridis
8c67cb8e2d
ci: Move the android cross file into the repository
...
Avoid having the txt file be inline bash which is inline
in yaml in the ci config.
2025-03-26 10:18:13 +00:00
Tim-Philipp Müller
58578a2f48
Merge branch 'ci-windows-image-to-gstreamer-1.26' into 'master'
...
ci: update windows image
See merge request cairo/cairo!615
2025-03-12 20:09:45 +00:00
Tim-Philipp Müller
e4add32e19
ci: mark fedora image job as "placeholder job"
...
Which will make it start faster, and 99% of the time it
will finish in seconds.
2025-03-12 18:19:13 +01:00
Tim-Philipp Müller
1e2e54123d
ci: update windows image
2025-03-12 18:06:31 +01:00
Emmanuele Bassi
c1bc9cd321
Merge branch 'release-1-18-4' into 'master'
...
Release Cairo 1.18.4
See merge request cairo/cairo!613
2025-03-08 14:05:21 +00:00
Emmanuele Bassi
22206ba5dd
Post-release version bump to 1.18.5
2025-03-08 13:23:25 +00:00
Emmanuele Bassi
4541e0cd3a
Release Cairo 1.18.4
2025-03-08 13:23:25 +00:00
Emmanuele Bassi
92dde935d4
ci: Allow failure on the Android job
...
The CI image we depend on is gone; until we can get something back, this
CI job should not block other work.
2025-03-08 13:23:25 +00:00
Emmanuele Bassi
bdd12408a7
Merge branch 'dwrite-coverage-map' into 'master'
...
DWrite: Get glyph coverage using IDWriteGlyphRunAnalysis
See merge request cairo/cairo!602
2025-02-21 17:32:28 +00:00
Luca Bacci
4d141f08fb
DWrite: Add fallback for OS versions up to Windows 8
...
IDWriteGlyphRunAnalysis supports gray-scale antialiasing only when
created via IDWriteFactory2 (and newer), introduced in Windows 8.1
Fallback to using DIrect2D on A8 targets when IDWriteFactory2 is
not available.
2025-02-10 17:18:46 +01:00
Luca Bacci
78fca779ba
DWrite: Get glyph coverage using IDWriteGlyphRunAnalysis
2025-02-10 17:18:40 +01:00
Uli Schlachter
b35a9ead97
Fix cairo-fdr and cairo-trace
...
This partially reverts commit ba4d5fbd5 from MR !343 which asked for
hidden symbols everywhere. cairo-fdr and cairo-trace explicitly try to
interpose existing symbols. Changing them to hidden symbols breaks these
tools.
See: https://gitlab.freedesktop.org/cairo/cairo/-/issues/882#note_2759005
Signed-off-by: Uli Schlachter <psychon@znc.in>
2025-01-31 18:10:47 +01:00
Emmanuele Bassi
3bfe1eed02
Merge branch 'meson' into 'master'
...
Minor Meson cleanups
See merge request cairo/cairo!584
2025-01-30 09:31:59 +00:00
Emmanuele Bassi
fe87f1c3fb
Merge branch 'win32-cleanup' into 'master'
...
Win32 cleanup
See merge request cairo/cairo!605
2025-01-30 09:29:01 +00:00
Emmanuele Bassi
e2a52c0870
Merge branch 'dwrite-font-variations' into 'master'
...
DWrite: Add support for font variations
Closes #877
See merge request cairo/cairo!601
2025-01-30 09:26:49 +00:00
Emmanuele Bassi
ed7b0a54b9
Merge branch 'dwrite-fix-warnings' into 'master'
...
DWrite: Fix warnings
See merge request cairo/cairo!603
2025-01-30 09:25:57 +00:00