diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-29 12:35:36 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-29 12:36:21 +0100 |
commit | fb9ed9bb0d3a4d4ac71f5d472f63a04ffbc4c110 (patch) | |
tree | 2e52702a322b5f78eb6f27ddc1df64bf973ce0fa /src/cairo-clip.c | |
parent | 7c6e1b8db89420fa69ebd8d2ba12dde1aeb47ea8 (diff) | |
download | cairo-fb9ed9bb0d3a4d4ac71f5d472f63a04ffbc4c110.tar.gz |
clip: Fix clip-equal to handle one or the other being NULL/all-clipped
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-clip.c')
-rw-r--r-- | src/cairo-clip.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cairo-clip.c b/src/cairo-clip.c index b01093efb..4058879fd 100644 --- a/src/cairo-clip.c +++ b/src/cairo-clip.c @@ -346,6 +346,16 @@ _cairo_clip_equal (const cairo_clip_t *clip_a, if (clip_a == clip_b) return TRUE; + /* or just one of them? */ + if (clip_a == NULL || clip_b == NULL || + _cairo_clip_is_all_clipped (clip_a) || + _cairo_clip_is_all_clipped (clip_b)) + { + return FALSE; + } + + /* We have a pair of normal clips, check their contents */ + if (clip_a->num_boxes != clip_b->num_boxes) return FALSE; |