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);
--
1.7.9.5

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to