summaryrefslogtreecommitdiff
path: root/src/cairo-svg-surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-svg-surface.c')
-rw-r--r--src/cairo-svg-surface.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c
index 26ae3d9d..6277af18 100644
--- a/src/cairo-svg-surface.c
+++ b/src/cairo-svg-surface.c
@@ -2262,9 +2262,13 @@ _cairo_svg_surface_mask (void *abstract_surface,
if (_cairo_status_is_error (source_status))
return source_status;
- mask_status = _cairo_svg_surface_analyze_operation (surface, op, mask);
- if (_cairo_status_is_error (mask_status))
- return mask_status;
+ if (mask->has_component_alpha) {
+ mask_status = CAIRO_INT_STATUS_UNSUPPORTED;
+ } else {
+ mask_status = _cairo_svg_surface_analyze_operation (surface, op, mask);
+ if (_cairo_status_is_error (mask_status))
+ return mask_status;
+ }
return _cairo_analysis_surface_merge_status (source_status,
mask_status);