summaryrefslogtreecommitdiffstats
path: root/gfx/cairo/quartz-surface-mask-patch
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/cairo/quartz-surface-mask-patch')
-rw-r--r--gfx/cairo/quartz-surface-mask-patch79
1 files changed, 0 insertions, 79 deletions
diff --git a/gfx/cairo/quartz-surface-mask-patch b/gfx/cairo/quartz-surface-mask-patch
deleted file mode 100644
index d5ee7d8be..000000000
--- a/gfx/cairo/quartz-surface-mask-patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/gfx/cairo/cairo/src/cairo-quartz-surface.c b/gfx/cairo/cairo/src/cairo-quartz-surface.c
---- a/gfx/cairo/cairo/src/cairo-quartz-surface.c
-+++ b/gfx/cairo/cairo/src/cairo-quartz-surface.c
-@@ -128,20 +128,22 @@ CG_EXTERN CGImageRef CGBitmapContextCrea
- */
- static void (*CGContextClipToMaskPtr) (CGContextRef, CGRect, CGImageRef) = NULL;
- static void (*CGContextDrawTiledImagePtr) (CGContextRef, CGRect, CGImageRef) = NULL;
- static unsigned int (*CGContextGetTypePtr) (CGContextRef) = NULL;
- static void (*CGContextSetShouldAntialiasFontsPtr) (CGContextRef, bool) = NULL;
- static void (*CGContextSetAllowsFontSmoothingPtr) (CGContextRef, bool) = NULL;
- static bool (*CGContextGetAllowsFontSmoothingPtr) (CGContextRef) = NULL;
- static CGPathRef (*CGContextCopyPathPtr) (CGContextRef) = NULL;
- static CGFloat (*CGContextGetAlphaPtr) (CGContextRef) = NULL;
-
-+static SInt32 _cairo_quartz_osx_version = 0x0;
-+
- static cairo_bool_t _cairo_quartz_symbol_lookup_done = FALSE;
-
- /*
- * Utility functions
- */
-
- #ifdef QUARTZ_DEBUG
- static void quartz_surface_to_png (cairo_quartz_surface_t *nq, char *dest);
- static void quartz_image_to_png (CGImageRef, char *dest);
- #endif
-@@ -163,20 +165,25 @@ static void quartz_ensure_symbols(void)
-
- CGContextClipToMaskPtr = dlsym(RTLD_DEFAULT, "CGContextClipToMask");
- CGContextDrawTiledImagePtr = dlsym(RTLD_DEFAULT, "CGContextDrawTiledImage");
- CGContextGetTypePtr = dlsym(RTLD_DEFAULT, "CGContextGetType");
- CGContextSetShouldAntialiasFontsPtr = dlsym(RTLD_DEFAULT, "CGContextSetShouldAntialiasFonts");
- CGContextCopyPathPtr = dlsym(RTLD_DEFAULT, "CGContextCopyPath");
- CGContextGetAllowsFontSmoothingPtr = dlsym(RTLD_DEFAULT, "CGContextGetAllowsFontSmoothing");
- CGContextSetAllowsFontSmoothingPtr = dlsym(RTLD_DEFAULT, "CGContextSetAllowsFontSmoothing");
- CGContextGetAlphaPtr = dlsym(RTLD_DEFAULT, "CGContextGetAlpha");
-
-+ if (Gestalt(gestaltSystemVersion, &_cairo_quartz_osx_version) != noErr) {
-+ // assume 10.5
-+ _cairo_quartz_osx_version = 0x1050;
-+ }
-+
- _cairo_quartz_symbol_lookup_done = TRUE;
- }
-
- CGImageRef
- _cairo_quartz_create_cgimage (cairo_format_t format,
- unsigned int width,
- unsigned int height,
- unsigned int stride,
- void *data,
- cairo_bool_t interpolate,
-@@ -3028,22 +3035,25 @@ static cairo_int_status_t
- CGContextSetAlpha (surface->cgContext, solid_mask->color.alpha);
- rv = _cairo_quartz_surface_paint_cg (surface, op, source, clip);
- CGContextSetAlpha (surface->cgContext, 1.0);
-
- return rv;
- }
-
- /* If we have CGContextClipToMask, we can do more complex masks */
- if (CGContextClipToMaskPtr) {
- /* For these, we can skip creating a temporary surface, since we already have one */
-- if (mask->type == CAIRO_PATTERN_TYPE_SURFACE && mask->extend == CAIRO_EXTEND_NONE)
-+ /* For some reason this doesn't work reliably on OS X 10.5. See bug 721663. */
-+ if (_cairo_quartz_osx_version >= 0x1060 && mask->type == CAIRO_PATTERN_TYPE_SURFACE &&
-+ mask->extend == CAIRO_EXTEND_NONE) {
- return _cairo_quartz_surface_mask_with_surface (surface, op, source, (cairo_surface_pattern_t *) mask, clip);
-+ }
-
- return _cairo_quartz_surface_mask_with_generic (surface, op, source, mask, clip);
- }
-
- /* So, CGContextClipToMask is not present in 10.3.9, so we're
- * doomed; if we have imageData, we can do fallback, otherwise
- * just pretend success.
- */
- if (surface->imageData)
- return CAIRO_INT_STATUS_UNSUPPORTED;