Bug 811002 - Part 1: Properly apply CTM when executing win32 printing surface paints. r=jrmuizel
authorBas Schouten <bschouten@mozilla.com>
Fri, 25 Oct 2013 14:50:29 +0000
changeset 166074 7aec4c2156d5be71716222d5072ce048417d7ad2
parent 166073 3650ee82a04f48bfa7aba1d8346645fedd9245a1
child 166075 f359db89c13b4c2b24df79bff93a3d0e27e4d255
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs811002
milestone27.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 811002 - Part 1: Properly apply CTM when executing win32 printing surface paints. r=jrmuizel
gfx/cairo/cairo/src/cairo-win32-printing-surface.c
--- a/gfx/cairo/cairo/src/cairo-win32-printing-surface.c
+++ b/gfx/cairo/cairo/src/cairo-win32-printing-surface.c
@@ -712,16 +712,17 @@ static cairo_status_t
     bi.bmiHeader.biClrImportant = 0;
 
     m = pattern->base.matrix;
     status = cairo_matrix_invert (&m);
     /* _cairo_pattern_set_matrix guarantees invertibility */
     assert (status == CAIRO_STATUS_SUCCESS);
 
     cairo_matrix_multiply (&m, &m, &surface->gdi_ctm);
+    cairo_matrix_multiply(&m, &m, &surface->ctm);
     SaveDC (surface->dc);
     _cairo_matrix_to_win32_xform (&m, &xform);
 
     if (! SetWorldTransform (surface->dc, &xform)) {
 	status = _cairo_win32_print_gdi_error ("_cairo_win32_printing_surface_paint_image_pattern");
 	goto CLEANUP_OPAQUE_IMAGE;
     }