diff options
Diffstat (limited to 'gfx/cairo/cairo-mask-extends-bug.patch')
-rw-r--r-- | gfx/cairo/cairo-mask-extends-bug.patch | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/gfx/cairo/cairo-mask-extends-bug.patch b/gfx/cairo/cairo-mask-extends-bug.patch deleted file mode 100644 index 325772d82..000000000 --- a/gfx/cairo/cairo-mask-extends-bug.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/gfx/cairo/cairo/src/cairo-image-surface.c b/gfx/cairo/cairo/src/cairo-image-surface.c ---- a/gfx/cairo/cairo/src/cairo-image-surface.c -+++ b/gfx/cairo/cairo/src/cairo-image-surface.c -@@ -1788,18 +1788,35 @@ static cairo_status_t - cairo_boxes_t *boxes) - { - cairo_boxes_t clear; - cairo_box_t box; - cairo_status_t status; - struct _cairo_boxes_chunk *chunk; - int i; - -- if (boxes->num_boxes < 1 && clip_region == NULL) -- return _cairo_image_surface_fixup_unbounded (dst, extents, NULL); -+ // If we have no boxes then we need to clear the entire extents -+ // because we have nothing to draw. -+ if (boxes->num_boxes < 1 && clip_region == NULL) { -+ int x = extents->unbounded.x; -+ int y = extents->unbounded.y; -+ int width = extents->unbounded.width; -+ int height = extents->unbounded.height; -+ -+ pixman_color_t color = { 0 }; -+ pixman_box32_t box = { x, y, x + width, y + height }; -+ -+ if (! pixman_image_fill_boxes (PIXMAN_OP_CLEAR, -+ dst->pixman_image, -+ &color, -+ 1, &box)) { -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); -+ } -+ return CAIRO_STATUS_SUCCESS; -+ } - - _cairo_boxes_init (&clear); - - box.p1.x = _cairo_fixed_from_int (extents->unbounded.x + extents->unbounded.width); - box.p1.y = _cairo_fixed_from_int (extents->unbounded.y); - box.p2.x = _cairo_fixed_from_int (extents->unbounded.x); - box.p2.y = _cairo_fixed_from_int (extents->unbounded.y + extents->unbounded.height); - |