1From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 2From: Heiko Lewin <heiko.lewin@worldiety.de> 3Date: Tue, 15 Dec 2020 16:48:19 +0100 4Subject: [PATCH] Fix mask usage in image-compositor 5 6[Retrieved from 7https://gitlab.freedesktop.org/cairo/cairo/-/commit/03a820b173ed1fdef6ff14b4468f5dbc02ff59be] 8[Removed changes in test/ directory to remove binary diff so that the 9patch can be applied by `patch` tool] 10Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> 11--- 12 src/cairo-image-compositor.c | 8 ++++---- 13 1 file changed, 4 insertions(+), 4 deletions(-) 14 15diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c 16index bbf4cf228..2352c478e 100644 17--- a/src/cairo-image-compositor.c 18+++ b/src/cairo-image-compositor.c 19@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, 20 unsigned num_spans) 21 { 22 cairo_image_span_renderer_t *r = abstract_renderer; 23- uint8_t *m; 24+ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); 25 int x0; 26 27 if (num_spans == 0) 28 return CAIRO_STATUS_SUCCESS; 29 30 x0 = spans[0].x; 31- m = r->_buf; 32+ m = base; 33 do { 34 int len = spans[1].x - spans[0].x; 35 if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { 36@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, 37 spans[0].x, y, 38 spans[1].x - spans[0].x, h); 39 40- m = r->_buf; 41+ m = base; 42 x0 = spans[1].x; 43 } else if (spans[0].coverage == 0x0) { 44 if (spans[0].x != x0) { 45@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, 46 #endif 47 } 48 49- m = r->_buf; 50+ m = base; 51 x0 = spans[1].x; 52 } else { 53 *m++ = spans[0].coverage; 54-- 552.38.1 56 57