Bug 409227. _cairo_clip_init_deep_copy should pass 0,0 as the starting coordinates when it clones the clip surface, because we just want an exact copy of the surface. r=vlad,a=beltzner

This commit is contained in:
roc+@cs.cmu.edu 2008-04-17 01:22:31 -07:00
parent a612fc4c6d
commit 153c4bfed0
3 changed files with 36 additions and 2 deletions

View File

@ -27,6 +27,10 @@ nonfatal-assertions.patch: Make assertions non-fatal
buggy-repeat.patch: Unconditionally turn on buggy-repeat handling to bandaid bug 413583.
clip-clone.patch: _cairo_clip_init_deep_copy should pass 0,0 as the
source coordinates to clone from since it wants an exact copy of the
source's clipping surface
==== pixman patches ====
endian.patch: include cairo-platform.h for endian macros

View File

@ -678,8 +678,7 @@ _cairo_clip_init_deep_copy (cairo_clip_t *clip,
if (other->surface) {
status = _cairo_surface_clone_similar (target, other->surface,
other->surface_rect.x,
other->surface_rect.y,
0, 0,
other->surface_rect.width,
other->surface_rect.height,
&clip->surface);

View File

@ -0,0 +1,31 @@
diff -NrpU12 mozilla-trunk.56113bebf57f/gfx/cairo/cairo/src/cairo-clip.c mozilla-trunk/gfx/cairo/cairo/src/cairo-clip.c
--- mozilla-trunk.56113bebf57f/gfx/cairo/cairo/src/cairo-clip.c 2008-04-16 16:02:09.000000000 +1200
+++ mozilla-trunk/gfx/cairo/cairo/src/cairo-clip.c 2008-04-16 16:02:09.000000000 +1200
@@ -669,26 +669,25 @@ _cairo_clip_init_deep_copy (cairo_clip_t
* whatever the right handling is happen */
} else {
if (other->has_region) {
status = _cairo_region_copy (&clip->region, &other->region);
if (status)
goto BAIL;
clip->has_region = TRUE;
}
if (other->surface) {
status = _cairo_surface_clone_similar (target, other->surface,
- other->surface_rect.x,
- other->surface_rect.y,
+ 0, 0,
other->surface_rect.width,
other->surface_rect.height,
&clip->surface);
if (status)
goto BAIL;
clip->surface_rect = other->surface_rect;
}
if (other->path) {
status = _cairo_clip_path_reapply_clip_path (clip, other->path);
if (status && status != CAIRO_INT_STATUS_UNSUPPORTED)