[cairo-commit] 2 commits - src/cairo-analysis-surface.c src/cairo-ps-surface.c
Adrian Johnson
ajohnson at kemper.freedesktop.org
Wed Jul 20 02:47:44 PDT 2011
src/cairo-analysis-surface.c | 6 ++++--
src/cairo-ps-surface.c | 6 +++++-
2 files changed, 9 insertions(+), 3 deletions(-)
New commits:
commit 3d1ee0e22dc0483189dc427b530418cbc3212810
Author: Adrian Johnson <ajohnson at redneon.com>
Date: Wed Jul 20 19:08:38 2011 +0930
analysis: CAIRO_INT_STATUS_NOTHING_TO_DO should not cause fallback
diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c
index aa0977e..3cb4311 100644
--- a/src/cairo-analysis-surface.c
+++ b/src/cairo-analysis-surface.c
@@ -145,7 +145,8 @@ _add_operation (cairo_analysis_surface_t *surface,
* to not allow unsupported operations to be replayed to the
* backend during CAIRO_PAGINATED_MODE_RENDER */
if (backend_status == CAIRO_INT_STATUS_SUCCESS ||
- backend_status == CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY)
+ backend_status == CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY ||
+ backend_status == CAIRO_INT_STATUS_NOTHING_TO_DO)
{
return CAIRO_INT_STATUS_SUCCESS;
}
@@ -173,7 +174,8 @@ _add_operation (cairo_analysis_surface_t *surface,
* replayed to the backend during
* CAIRO_PAGINATED_MODE_RENDER */
if (backend_status == CAIRO_INT_STATUS_SUCCESS ||
- backend_status == CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY)
+ backend_status == CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY ||
+ backend_status == CAIRO_INT_STATUS_NOTHING_TO_DO)
{
return CAIRO_INT_STATUS_SUCCESS;
}
commit 12b27778e230eb078c19d695ad11db713963aa25
Author: Adrian Johnson <ajohnson at redneon.com>
Date: Wed Jul 20 19:05:33 2011 +0930
ps: Don't return CAIRO_INT_STATUS_NOTHING_TO_DO for empty glyphs
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 3d939c9..3a54a90 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -3782,8 +3782,12 @@ _cairo_ps_surface_show_glyphs (void *abstract_surface,
glyphs, num_glyphs,
clip,
&overlap);
- if (unlikely (status))
+ if (unlikely (status)) {
+ if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
+ return CAIRO_INT_STATUS_SUCCESS;
+
return status;
+ }
if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE)
return _cairo_ps_surface_analyze_operation (surface, op, source, &extents.bounded);
More information about the cairo-commit
mailing list