[poppler] 2 commits - poppler/CairoOutputDev.cc regtest/main.py

Carlos Garcia Campos carlosgc at kemper.freedesktop.org
Sun Sep 24 10:40:16 UTC 2017


 poppler/CairoOutputDev.cc |    8 +++++---
 regtest/main.py           |    2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

New commits:
commit 3b64fc488e7ff10634aa2dd76ad4f152ebfe7edc
Author: Carlos Garcia Campos <carlosgc at gnome.org>
Date:   Sun Sep 24 12:39:06 2017 +0200

    regtest: change default value of utils dir to ../build/utils

diff --git a/regtest/main.py b/regtest/main.py
index 0febb79f..3c0d2109 100644
--- a/regtest/main.py
+++ b/regtest/main.py
@@ -57,7 +57,7 @@ def main(args):
                         action = 'store_true', dest = 'verbose', default = False,
                         help = 'Run in verbose mode')
     parser.add_argument('--utils-dir',
-                        action = 'store', dest = 'utils_dir', default = os.path.abspath("../utils"),
+                        action = 'store', dest = 'utils_dir', default = os.path.abspath("../build/utils"),
                         help = 'Directory of poppler utils used for the tests')
     parser.add_argument('-b', '--backends',
                         action = ListAction, dest = 'backends',
commit deba5f3c57929a96105d822c8cba46e5334694c7
Author: Carlos Garcia Campos <carlosgc at gnome.org>
Date:   Sun Sep 24 12:31:43 2017 +0200

    cairo: Do not extend the pattern in drawImageMaskRegular
    
    This is causing some documents with tiling patterns to take ages to render,
    since we switched to use drawImageMaskRegular in 00a536a4. This patch
    applies the same changes made in 7d8dfb09 and db87dc7f for
    drawImageMaskPrescaled to drawImageMaskRegular.

diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index 24b9e65e..4d3cf02d 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -2178,9 +2178,6 @@ void CairoOutputDev::drawImageMaskRegular(GfxState *state, Object *ref, Stream *
 
   cairo_pattern_set_filter (pattern, filter);
 
-  if (!printing)
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_PAD);
-
   cairo_matrix_init_translate (&matrix, 0, height);
   cairo_matrix_scale (&matrix, width, -height);
   cairo_pattern_set_matrix (pattern, &matrix);
@@ -2196,6 +2193,11 @@ void CairoOutputDev::drawImageMaskRegular(GfxState *state, Object *ref, Stream *
     cairo_save (cairo);
     cairo_rectangle (cairo, 0., 0., 1., 1.);
     cairo_clip (cairo);
+    if (strokePathClip) {
+      cairo_push_group (cairo);
+      fillToStrokePathClip (state);
+      cairo_pop_group_to_source (cairo);
+    }
     cairo_mask (cairo, pattern);
     cairo_restore (cairo);
   } else {


More information about the poppler mailing list