summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cairo-gstate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c
index caed88b5c..78aab5080 100644
--- a/src/cairo-gstate.c
+++ b/src/cairo-gstate.c
@@ -1113,7 +1113,8 @@ _cairo_gstate_mask (cairo_gstate_t *gstate,
_cairo_gstate_copy_transformed_mask (gstate, &mask_pattern.base, mask);
if (source->type == CAIRO_PATTERN_TYPE_SOLID &&
- mask_pattern.type == CAIRO_PATTERN_TYPE_SOLID)
+ mask_pattern.type == CAIRO_PATTERN_TYPE_SOLID &&
+ _cairo_operator_bounded_by_source (op))
{
const cairo_solid_pattern_t *solid = (cairo_solid_pattern_t *) source;
cairo_color_t combined;