summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch')
-rw-r--r--x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch b/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch
new file mode 100644
index 000000000000..a9bf577f9616
--- /dev/null
+++ b/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch
@@ -0,0 +1,109 @@
+From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Fri, 3 Feb 2023 15:40:12 +0100
+Subject: [PATCH] tee: Fix cairo wrapper functions
+
+Follow-up to !391 to apply the same changes to the (disabled by default)
+tee surface.
+
+Fixes: #634
+---
+ src/cairo-tee-surface.c | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
+index 7a94c9bca..4994a5a60 100644
+--- a/src/cairo-tee-surface.c
++++ b/src/cairo-tee-surface.c
+@@ -220,12 +220,12 @@ _cairo_tee_surface_paint (void *abstract_surface,
+ num_slaves = _cairo_array_num_elements (&surface->slaves);
+ slaves = _cairo_array_index (&surface->slaves, 0);
+ for (n = 0; n < num_slaves; n++) {
+- status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
++ status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
+ if (unlikely (status))
+ return status;
+ }
+
+- return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
++ return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, clip);
+ }
+
+ static cairo_int_status_t
+@@ -244,13 +244,17 @@ _cairo_tee_surface_mask (void *abstract_surface,
+ slaves = _cairo_array_index (&surface->slaves, 0);
+ for (n = 0; n < num_slaves; n++) {
+ status = _cairo_surface_wrapper_mask (&slaves[n],
+- op, source, mask, clip);
++ op, source, 0,
++ mask, 0,
++ clip);
+ if (unlikely (status))
+ return status;
+ }
+
+ return _cairo_surface_wrapper_mask (&surface->master,
+- op, source, mask, clip);
++ op, source, 0,
++ mask, 0,
++ clip);
+ }
+
+ static cairo_int_status_t
+@@ -274,7 +278,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
+ slaves = _cairo_array_index (&surface->slaves, 0);
+ for (n = 0; n < num_slaves; n++) {
+ status = _cairo_surface_wrapper_stroke (&slaves[n],
+- op, source,
++ op, source, 0,
+ path, style,
+ ctm, ctm_inverse,
+ tolerance, antialias,
+@@ -284,7 +288,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
+ }
+
+ return _cairo_surface_wrapper_stroke (&surface->master,
+- op, source,
++ op, source, 0,
+ path, style,
+ ctm, ctm_inverse,
+ tolerance, antialias,
+@@ -310,7 +314,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
+ slaves = _cairo_array_index (&surface->slaves, 0);
+ for (n = 0; n < num_slaves; n++) {
+ status = _cairo_surface_wrapper_fill (&slaves[n],
+- op, source,
++ op, source, 0,
+ path, fill_rule,
+ tolerance, antialias,
+ clip);
+@@ -319,7 +323,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
+ }
+
+ return _cairo_surface_wrapper_fill (&surface->master,
+- op, source,
++ op, source, 0,
+ path, fill_rule,
+ tolerance, antialias,
+ clip);
+@@ -361,7 +365,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
+ for (n = 0; n < num_slaves; n++) {
+ memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
+ status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
+- source,
++ source, 0,
+ utf8, utf8_len,
+ glyphs_copy, num_glyphs,
+ clusters, num_clusters,
+@@ -374,7 +378,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
+
+ memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
+ status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
+- source,
++ source, 0,
+ utf8, utf8_len,
+ glyphs_copy, num_glyphs,
+ clusters, num_clusters,
+--
+2.39.2
+