summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-04-06 09:09:23 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-04-06 09:09:23 +0100
commita64ce09715162c57d6e4b6a460d426af1d443cdc (patch)
treee479e3db08cf1b04d082fc1845d0184247ac56f1
parent04b9d5d9b1ab8544fc0918d8ced90dc70641e727 (diff)
xlib: Trim uploads for surfaces extended by PAD
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/cairo-xlib-source.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-xlib-source.c b/src/cairo-xlib-source.c
index 5874f8d8..746001ed 100644
--- a/src/cairo-xlib-source.c
+++ b/src/cairo-xlib-source.c
@@ -986,6 +986,9 @@ surface_source (cairo_xlib_surface_t *dst,
if (pattern->base.extend == CAIRO_EXTEND_NONE) {
if (! _cairo_rectangle_intersect (&upload, &limit))
return alpha_source (dst, 0);
+ } else if (pattern->base.extend == CAIRO_EXTEND_PAD) {
+ if (! _cairo_rectangle_intersect (&upload, &limit))
+ upload = limit;
} else {
if (upload.x < limit.x ||
upload.x + upload.width > limit.x + limit.width ||