summaryrefslogtreecommitdiffstats
path: root/gfx/cairo/pixman-image-transform.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/cairo/pixman-image-transform.patch')
-rw-r--r--gfx/cairo/pixman-image-transform.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/gfx/cairo/pixman-image-transform.patch b/gfx/cairo/pixman-image-transform.patch
deleted file mode 100644
index 2f93d315a..000000000
--- a/gfx/cairo/pixman-image-transform.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-# HG changeset patch
-# User Jeff Muizelaar <jmuizelaar@mozilla.com>
-# Date 1299543337 18000
-# Node ID 57f411f16517fa3abc31b6b081dd31420c4d9b45
-# Parent e56ecd8b3a68c158025207c5fd081d043e28f5ce
-Bug 637828. Reset the transform on the dest image. r=joe
-
-We can get into a situation where the destination image has a transform
-because we use it as source. The transform set when the image is a source
-sticks around and when we use it as a destination pixman gets confused.
-
-It seems like the code at fault here is really pixman. I think that pixman
-should probably not be using a transformed fetch on the destination image under
-any circumstances.
-
-For example, in this case we're fetching destination pixels from a different
-part of the image than we're storing them to. I can't see any reason for
-wanting this behaviour.
-
-However, reseting the transform seemed like the easiest solution.
-
-diff --git a/gfx/cairo/cairo/src/cairo-image-surface.c b/gfx/cairo/cairo/src/cairo-image-surface.c
---- a/gfx/cairo/cairo/src/cairo-image-surface.c
-+++ b/gfx/cairo/cairo/src/cairo-image-surface.c
-@@ -1138,16 +1138,27 @@ _cairo_image_surface_composite (cairo_op
- return status;
-
- status = _cairo_image_surface_set_attributes (src, &src_attr,
- dst_x + width / 2.,
- dst_y + height / 2.);
- if (unlikely (status))
- goto CLEANUP_SURFACES;
-
-+ /* we sometimes get destinations with transforms.
-+ * we're not equiped to deal with this */
-+ {
-+ static const pixman_transform_t id = {
-+ {{ pixman_fixed_1, 0, 0 },
-+ { 0, pixman_fixed_1, 0 },
-+ { 0, 0, pixman_fixed_1 }}
-+ };
-+ pixman_image_set_transform (dst->pixman_image, &id);
-+ }
-+
- if (mask) {
- status = _cairo_image_surface_set_attributes (mask, &mask_attr,
- dst_x + width / 2.,
- dst_y + height / 2.);
- if (unlikely (status))
- goto CLEANUP_SURFACES;
-
- pixman_image_composite (_pixman_operator (op),