diff --git a/test/Makefile.am b/test/Makefile.am index e03eec747..ba78d2f51 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -445,6 +445,7 @@ REFERENCE_IMAGES = \ source-clip-scale-svg-ref.png \ source-surface-scale-paint-ref.png \ source-surface-scale-paint-rgb24-ref.png \ + surface-pattern-big-scale-down-ref.png \ surface-pattern-pdf-argb32-ref.png \ surface-pattern-ps-argb32-ref.png \ surface-pattern-ref.png \ diff --git a/test/surface-pattern-big-scale-down-ref.png b/test/surface-pattern-big-scale-down-ref.png new file mode 100644 index 000000000..7a8f513e2 Binary files /dev/null and b/test/surface-pattern-big-scale-down-ref.png differ diff --git a/test/surface-pattern-big-scale-down.c b/test/surface-pattern-big-scale-down.c index d1f818cf7..c938d9982 100644 --- a/test/surface-pattern-big-scale-down.c +++ b/test/surface-pattern-big-scale-down.c @@ -81,7 +81,6 @@ draw (cairo_t *cr, int width, int height) { cairo_surface_t *surface; cairo_pattern_t *pat; - int n; cairo_set_source_rgb (cr, 0, 0, 0); cairo_paint (cr); @@ -90,6 +89,7 @@ draw (cairo_t *cr, int width, int height) setup_source_surface (surface, SRC_WIDTH, SRC_HEIGHT); pat = cairo_pattern_create_for_surface (surface); + cairo_surface_destroy (surface); /* We want to draw at a position such that n * SRC_WIDTH * (SRC_WIDTH/16.0) > 32768. * x = n * 16. @@ -107,10 +107,15 @@ draw (cairo_t *cr, int width, int height) /* n = 17 */ draw_n (cr, pat, 16.0, 17); #else - for (n = 0; n < 32; n++) - draw_n (cr, pat, 16.0, n); + { + int n; + for (n = 0; n < 32; n++) + draw_n (cr, pat, 16.0, n); + } #endif + cairo_pattern_destroy (pat); + return CAIRO_TEST_SUCCESS; }