diff -r 000000000000 -r 6474c204b198 gfx/cairo/fix-clip-copy.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/cairo/fix-clip-copy.patch Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,30 @@ +commit f49a9740350d2f0d69ed59e913f0263a899cfb2a +Author: Jeff Muizelaar +Date: Fri Jan 29 14:39:24 2010 -0500 + + Fix clip copy + +diff --git a/src/cairo-clip.c b/src/cairo-clip.c +index 8d66a5f..6acbcff 100644 +--- a/src/cairo-clip.c ++++ b/src/cairo-clip.c +@@ -280,13 +280,12 @@ cairo_clip_t * + _cairo_clip_init_copy (cairo_clip_t *clip, cairo_clip_t *other) + { + if (other != NULL) { +- if (other->path == NULL) { +- _cairo_clip_init (clip); +- clip = NULL; +- } else { +- clip->all_clipped = other->all_clipped; +- clip->path = _cairo_clip_path_reference (other->path); +- } ++ clip->all_clipped = other->all_clipped; ++ clip->path = _cairo_clip_path_reference (other->path); ++ ++ /* this guy is here because of the weird return semantics of _cairo_clip_init_copy */ ++ if (!other->path) ++ return NULL; + } else { + _cairo_clip_init (clip); + }