The buffer to which the mask is rastered is only partially cleared.
If the object to which the mask is applied overlaps an area where
another mask was used, an erroneous image is generated. The buffer
clearing area has been increased to the size of the object to which
the mask is applied.
/* Note: only ClipPath is processed in update() step.
Create a composition image. */
if (cmpTarget && cmpMethod != CompositeMethod::ClipPath) {
- auto region = cmpTarget->pImpl->bounds(renderer);
+ auto region = smethod->bounds(renderer);
if (region.w == 0 || region.h == 0) return false;
cmp = renderer.target(region);
renderer.beginComposite(cmp, CompositeMethod::None, 255);