summaryrefslogtreecommitdiff
path: root/src/cairo-clip-boxes.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-07-20 10:53:19 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-07-20 10:58:37 +0100
commitb419fdcacd636dc2274695f922f758a8b521ca01 (patch)
tree018ada8dbacc2fc9f14fb0180dd4999d4410d309 /src/cairo-clip-boxes.c
parent41190afacfb53eebc2e47d6d5924c91080293e7f (diff)
downloadcairo-b419fdcacd636dc2274695f922f758a8b521ca01.tar.gz
clip-boxes: Intersection with 0 boxes means clip-all
Fixes clip-fill-no-op Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-clip-boxes.c')
-rw-r--r--src/cairo-clip-boxes.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cairo-clip-boxes.c b/src/cairo-clip-boxes.c
index aa560ce54..95ed265bf 100644
--- a/src/cairo-clip-boxes.c
+++ b/src/cairo-clip-boxes.c
@@ -259,9 +259,12 @@ _cairo_clip_intersect_boxes (cairo_clip_t *clip,
cairo_boxes_t clip_boxes;
cairo_rectangle_int_t extents;
- if (boxes->num_boxes == 0)
+ if (_cairo_clip_is_all_clipped (clip))
return clip;
+ if (boxes->num_boxes == 0)
+ return _cairo_clip_set_all_clipped (clip);
+
if (clip == NULL)
clip = _cairo_clip_create ();