What needs to happen for this to get committed?
On 07/17, Uli Schlachter wrote:
> When doing a "complicated" mask operation, we draw the clip to a surface and use
> this as a mask in later operations. The code assumes that this operation draws
> to the whole target surface and thus a deferred clear may be skipped.
>
> However, this requires that the extents of the trapezoids that will be drawn and
> the extents of the surface are the same. This assumption is wrong, as can be
> seen e.g. by the bug report that this commit fixes.
>
> The fix is just not to skip the deferred clear.
>
> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84330
> Signed-off-by: Uli Schlachter <[email protected]>
> ---
> src/cairo-xcb-surface-render.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
> index 64a3d5a..a4969c9 100644
> --- a/src/cairo-xcb-surface-render.c
> +++ b/src/cairo-xcb-surface-render.c
> @@ -3400,8 +3400,6 @@ _composite_mask_clip (void *closure,
> }
> }
>
> - dst->deferred_clear = FALSE; /* assert(trap extents == extents); */
> -
> status = _composite_traps (&info,
> dst, CAIRO_OPERATOR_SOURCE, mask_pattern,
> dst_x, dst_y,
> --
> 2.8.1
>
--
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.