diff -ru cairo-1.15.6/src/win32/cairo-win32-printing-surface.c cairo-1.15.6b/src/win32/cairo-win32-printing-surface.c --- cairo-1.15.6/src/win32/cairo-win32-printing-surface.c 2017-06-09 08:46:49.000000000 +0200 +++ cairo-1.15.6b/src/win32/cairo-win32-printing-surface.c 2017-07-19 01:03:21.183046300 +0200 @@ -1119,7 +1119,7 @@ case CAIRO_PATTERN_TYPE_SURFACE: { cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern; - if ( _cairo_surface_is_recording (surface_pattern->surface)) + if (surface_pattern->surface->type == CAIRO_SURFACE_TYPE_RECORDING) status = _cairo_win32_printing_surface_paint_recording_pattern (surface, surface_pattern); else status = _cairo_win32_printing_surface_paint_image_pattern (surface, pattern, extents);