From fb9ed9bb0d3a4d4ac71f5d472f63a04ffbc4c110 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 29 Jul 2011 12:35:36 +0100 Subject: [PATCH] clip: Fix clip-equal to handle one or the other being NULL/all-clipped Signed-off-by: Chris Wilson --- src/cairo-clip.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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;