зеркало из https://github.com/mozilla/pjs.git
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:
Родитель
0e3b12d667
Коммит
105a5ead75
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
Загрузка…
Ссылка в новой задаче