diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-09-17 12:01:49 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-09-17 12:01:49 +0100 |
commit | cea41a61c104f235c1f896207115507aed93d9ea (patch) | |
tree | 9abfdabe85142280e96d2396f6b0d88488cf51a3 /src/cairo-image-source.c | |
parent | 09b42c748e9dbcc923560c7d8bf5298fbffe95ef (diff) | |
download | cairo-cea41a61c104f235c1f896207115507aed93d9ea.tar.gz |
image: intersect the source extents with the replay extents for EXTEND_NONE
Fixes up the boundary on EXTEND_NONE replays.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-image-source.c')
-rw-r--r-- | src/cairo-image-source.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cairo-image-source.c b/src/cairo-image-source.c index c6c53457e..4c2c1d253 100644 --- a/src/cairo-image-source.c +++ b/src/cairo-image-source.c @@ -639,8 +639,11 @@ _pixman_image_for_recording (cairo_image_surface_t *dst, } else extend = CAIRO_EXTEND_NONE; - if (extend == CAIRO_EXTEND_NONE) + if (extend == CAIRO_EXTEND_NONE) { limit = *extents; + if (! _cairo_rectangle_intersect (&limit, sample)) + return _pixman_transparent_image (); + } if (dst->base.content == source->content) clone = cairo_image_surface_create (dst->format, |