diff options
-rw-r--r-- | src/cairo-gstate.c | 3 |
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; |