[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