[PATCH] desktop-shell: Fix black edges on scaled desktop pattern

Pekka Paalanen ppaalanen at gmail.com
Fri May 9 02:11:34 PDT 2014


On Thu, 08 May 2014 20:00:35 -0700
Bill Spitzak <spitzak at gmail.com> wrote:

> Filter sampling outside the source image can leak black into the edges 
> of the
> desktop image. This is most easily seen by scaling the default tiled image
> with this weston.ini:
> 
> 	# no background-image and no background-color
> 	background-type=scale-crop
> ---
>   clients/desktop-shell.c |    2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c
> index 4880888..e121cc7 100644
> --- a/clients/desktop-shell.c
> +++ b/clients/desktop-shell.c
> @@ -724,6 +724,7 @@ background_draw(struct widget *widget, void *data)
>   		case BACKGROUND_SCALE:
>   			cairo_matrix_init_scale(&matrix, sx, sy);
>   			cairo_pattern_set_matrix(pattern, &matrix);
> +			cairo_pattern_set_extend(pattern, CAIRO_EXTEND_PAD);
>   			break;
>   		case BACKGROUND_SCALE_CROP:
>   			s = (sx < sy) ? sx : sy;
> @@ -733,6 +734,7 @@ background_draw(struct widget *widget, void *data)
>   			cairo_matrix_init_translate(&matrix, tx, ty);
>   			cairo_matrix_scale(&matrix, s, s);
>   			cairo_pattern_set_matrix(pattern, &matrix);
> +			cairo_pattern_set_extend(pattern, CAIRO_EXTEND_PAD);
>   			break;
>   		case BACKGROUND_TILE:
>   			cairo_pattern_set_extend(pattern, CAIRO_EXTEND_REPEAT);

Ok, I see the problem, and I see this fix should be good, but for some
reason this patch does not apply at all. I had to do the change
manually. Anyway, it works right and fixes the issue.

Hm, it does apply with --ignore-whitespace, though. When I save the raw
email, there seems to be extra spaces in the beginning of all context
lines. Maybe Format="flowed" messes it up?


Thanks,
pq


More information about the wayland-devel mailing list