[cairo-commit] cairo/src cairo-gstate.c, 1.170,
1.171 cairo-pdf-surface.c, 1.60, 1.61
Kristian Høgsberg
commit at pdx.freedesktop.org
Mon Oct 10 09:36:41 PDT 2005
Committed by: krh
Update of /cvs/cairo/cairo/src
In directory gabe:/tmp/cvs-serv11614/src
Modified Files:
cairo-gstate.c cairo-pdf-surface.c
Log Message:
2005-10-10 Kristian Høgsberg <krh at redhat.com>
* src/cairo-gstate.c (_cairo_gstate_fill): Transform source
pattern for _cairo_surface_fill_path() also (#4673).
* test/ps-surface.c, test/pdf-surface.c (draw): Use
cairo_fill_preserve() instead of cairo_save()/cairo_restore().
* src/cairo-pdf-surface.c (emit_surface_pattern): Add missing
return values.
Index: cairo-gstate.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-gstate.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -d -r1.170 -r1.171
--- cairo-gstate.c 6 Sep 2005 22:19:00 -0000 1.170
+++ cairo-gstate.c 10 Oct 2005 16:36:39 -0000 1.171
@@ -1558,6 +1558,7 @@
{
cairo_status_t status;
cairo_traps_t traps;
+ cairo_pattern_union_t pattern;
if (gstate->source->status)
return gstate->source->status;
@@ -1565,14 +1566,18 @@
status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
if (status)
return status;
+
+ _cairo_gstate_copy_transformed_source (gstate, &pattern.base);
status = _cairo_surface_fill_path (gstate->operator,
- gstate->source,
+ &pattern.base,
gstate->target,
path,
gstate->fill_rule,
gstate->tolerance);
+ _cairo_pattern_fini (&pattern.base);
+
if (status != CAIRO_INT_STATUS_UNSUPPORTED)
return status;
Index: cairo-pdf-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-pdf-surface.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- cairo-pdf-surface.c 9 Oct 2005 16:18:16 -0000 1.60
+++ cairo-pdf-surface.c 10 Oct 2005 16:36:39 -0000 1.61
@@ -797,13 +797,12 @@
unsigned int id, alpha;
cairo_matrix_t pm;
- if (pattern->surface->backend == &cairo_pdf_surface_backend) {
- return;
- }
+ if (pattern->surface->backend == &cairo_pdf_surface_backend)
+ return CAIRO_STATUS_SUCCESS;
status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra);
if (status)
- return;
+ return status;
_cairo_pdf_document_close_stream (document);
More information about the cairo-commit
mailing list