gfx/cairo/fix-clip-copy.patch
author Brian Hackett <bhackett1024@gmail.com>
Thu, 12 Dec 2013 13:10:54 -0800
changeset 176470 2e5ff561425490570383d57abf4eff21619c865f
parent 40464 2b9a4c865737a743e89d81ccff6931abd5ea6137
permissions -rw-r--r--
Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm, r=jandem

commit f49a9740350d2f0d69ed59e913f0263a899cfb2a
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
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);
     }