poppler/CairoOutputDev.cc | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-)
New commits: commit a32f6f9ebaed3e4827b9dc6cb37e307c2798f521 Author: Carlos Garcia Campos <[email protected]> Date: Sun Mar 28 18:43:14 2010 +0200 [cairo] Do not change device offset of mask surface Also call cairo_paint() after set_source_rgb() to paint the background. Fixes bug #27208. diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc index b066c9b..c433fdb 100644 --- a/poppler/CairoOutputDev.cc +++ b/poppler/CairoOutputDev.cc @@ -1263,19 +1263,12 @@ void CairoOutputDev::setSoftMask(GfxState * state, double * bbox, GBool alpha, colToDbl(backdropColorRGB.r), colToDbl(backdropColorRGB.g), colToDbl(backdropColorRGB.b)); - + cairo_paint(maskCtx); cairo_matrix_t mat; cairo_get_matrix(cairo, &mat); cairo_set_matrix(maskCtx, &mat); - /* make the device offset of the new mask match that of the group */ - double x_offset, y_offset; - cairo_surface_t *pats; - cairo_pattern_get_surface(group, &pats); - cairo_surface_get_device_offset(pats, &x_offset, &y_offset); - cairo_surface_set_device_offset(source, x_offset, y_offset); - /* paint the group */ cairo_set_source(maskCtx, group); cairo_paint(maskCtx); @@ -1308,9 +1301,7 @@ void CairoOutputDev::setSoftMask(GfxState * state, double * bbox, GBool alpha, /* setup the new mask pattern */ mask = cairo_pattern_create_for_surface(source); - cairo_matrix_t patMatrix; - cairo_pattern_get_matrix(group, &patMatrix); - cairo_pattern_set_matrix(mask, &patMatrix); + cairo_pattern_set_matrix(mask, &mat); cairo_surface_destroy(source); } else { _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
