[cairo-commit] 2 commits - configure.ac src/cairo-pdf-surface.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Sep 24 14:37:57 PDT 2008


 configure.ac            |    4 +++-
 src/cairo-pdf-surface.c |    9 ++-------
 2 files changed, 5 insertions(+), 8 deletions(-)

New commits:
commit ba7ef8b40e5615de295932b654806345065019c1
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Sep 24 22:35:40 2008 +0100

    [configure.ac] Bump poppler dependency to 0.9.2
    
    poppler-0.9.2 is required for replaying user-fonts correctly.

diff --git a/configure.ac b/configure.ac
index 02e8c8e..7caaec7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -361,7 +361,9 @@ CAIRO_ENABLE_SURFACE_BACKEND(pdf, PDF, yes, [
 
 dnl ===========================================================================
 
-POPPLER_VERSION_REQUIRED=0.8.0
+# poppler-0.9.2 has an important bug fixes for user-font and an
+# enhancement not to gobble nearly 1GiB of memory during test/large-font.
+POPPLER_VERSION_REQUIRED=0.9.2
 test_pdf=no
 if test "x$use_pdf" = "xyes"; then
   poppler_DEPENDENCY="poppler-glib >= $POPPLER_VERSION_REQUIRED"
commit dfe9f7093f9a226e58dc531b54b32a3f169fea96
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Sep 24 22:16:39 2008 +0100

    Revert "[pdf] Tweak the mask analysis to avoid an assertion failure."
    
    This reverts commit c9ec82f3a89cdd57277be6a9a6cb3e05d82fb206, which
    notably caused regresions in the mask and clip-operator tests.
    
    Obviously I'm not smart enough to fix bugs. Since the computer found the
    assertion failure, I need to train the computer to fix the bugs as well.

diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 3ac392c..f6f8679 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -4471,18 +4471,13 @@ _cairo_pdf_surface_mask	(void			*abstract_surface,
     if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) {
 	status = _cairo_pdf_surface_analyze_operation (surface, op, source);
 	if (status != CAIRO_STATUS_SUCCESS &&
-	    status <= CAIRO_INT_STATUS_UNSUPPORTED)
+	    status != CAIRO_INT_STATUS_ANALYZE_META_SURFACE_PATTERN)
 	    return status;
 
 	status2 = _cairo_pdf_surface_analyze_operation (surface, op, mask);
-	if (status2 == CAIRO_STATUS_SUCCESS)
-	    return status;
-	if (status2 <= CAIRO_INT_STATUS_UNSUPPORTED)
+	if (status2 != CAIRO_STATUS_SUCCESS)
 	    return status2;
 
-	/* XXX At this point, both status and status2 indicate that the
-	 * patterns require further analysis. */
-
 	return status;
     } else if (surface->paginated_mode == CAIRO_PAGINATED_MODE_FALLBACK) {
 	status = _cairo_pdf_surface_start_fallback (surface);


More information about the cairo-commit mailing list